如何在WindowsLinux上⾯优雅地编译OpenHarmony--编译环境搭建篇(⼀)如何在Windows/Linux上⾯优雅地编译OpenHarmony--编译环境搭建篇(⼀)
前⾔
本⽂共两篇,此为第⼀篇⽤于介绍OpenHarmonyOS的编译环境搭建,第⼆篇将会介绍源码下载与编译
本⽂内容仅适⽤于Windows10/11和Linux。作者在学习Openharmony开发时⼀直是⽤的⼩熊派官⽅的VHD通过加载进虚拟机再本地SSH进⾏编译再通过SFTP取回编译结果的⽅式进⾏开发学习,属实是绕了⼀⼤圈,于是想通过DevEco Device Tools,但Windows⼜不⽀持编译我这MCU,上Linux⼜懒得切系统,配置更是⿇烦,所以最后有了通过WSL的⽅式在Windows使⽤VSC开发的想法。(环境配置同样适⽤于Linux)
准备阶段
1. ⼀台装有Linux\Windows10的电脑。
Windows下配置
Linux⽤户可以直接跳转到编译环境配置部分
1. ⾸先确保已经在控制⾯板->程序和功能->启⽤或关闭Windows功能⾥启⽤了适⽤于Linux的Windows⼦系统
2. 进⼊Windows应⽤商店,到你喜欢的Linux⼦系统安装即可,这⾥我选择了Ubuntu20.04 LTS
3. 打开后会进⼊⼀段时间的Installing,只要耐⼼等待即可,之后会要求你输⼊⽤户名和密码,按照规则输⼊就好,之后应该就可以进⼊
shell界⾯了。
编译环境配置
本⽂以⼩熊派BearPi-HM_Nano为例,在Ubuntu下演⽰鸿蒙开发环境的搭建,⼤家可以通过类⽐搭建其他MCU的编译环境,毕竟这是对MCU编程⽽不是对板⼦编程。
鸿蒙官⽅原版源码⽂档
⼩熊派官⽅源码及⽂档
python⼯具包配置
1. 安装Python3.8及其以上。
sudo apt install python3
2. 安装Pip⼯具
sudo apt install python3-setuptools python3-pip -y
3. 安装python模块setuptools
pip3 install setuptools
4. 安装kconfig
sudo pip3 install kconfiglib
5. 安装pycryptodome
sudo pip3 install pycryptodome
6. 安装six
sudo pip3 install six --upgrade --ignore-installed six
7. 安装ecdsa
sudo pip3 install ecdsa
需要注意的是⼤多数wsl或linux镜像都⾃带python2,python指令指向的是Python2.x版本,这⾥需要进⾏⼀个修改,防⽌后续执⾏编译脚本失败
先查看python指令是否指向了Python3.x
ls -l /usr/bin/python*
可以看到我这⾥已经将python链接到了python3⽬录
如果没有,可以执⾏以下指令
sudo ln -s /usr/bin/python3 /usr/bin/python
编译⼯具配置
这⾥我们建议使⽤gitee下载源码,hpm包⽅式具有诸多不便且更新不及时,所以为了使⽤gitee下载并对源码进⾏编译,我们需要准备gn,ninja,gcc-riscv32编译⼯具链OpenHarmony官⽅源码⾥使⽤了llvm,放到以后的⽂章讲怎么去配置和使⽤官⽅源码,其实这篇教程看会了举⼀反三不难的。
安装gn
1. 从华为云下载gn
ubuntu怎么安装pythonwget repo.huaweicloud/harmonyos/compiler/gn/1717/linux/
2. 创建gn⽬录
mkdir ~/gn
3. 解压
tar -xvf -C ~/gn
安装ninja
1. 从华为云下载ninja
wget repo.huaweicloud/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar 2. 解压ninja
tar -xvf ninja.1.9.0.tar -C ~/
安装gcc-riscv32
1. ,提取码1234
2. 解压
tar -xvf gcc_riscv32-linux-7.3. -C ~/
配置环境变量
1. 打开.bashrc
`vim ~/.bashrc
2. 将以下内容写⼊⽂件最后⼀⾏
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
3. 退出保存,输⼊指令⽣效
source ~/.bashrc
⾄此环境搭建完成

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。