如何在Windows/Linux上面优雅地编译OpenHarmony--编译环境搭建篇(一)
如何在Windows/Linux上面优雅地编译OpenHarmony--编译环境搭建篇(一)
- 前言
- 准备阶段
- Windows下配置
- 编译环境配置
-
- python工具包配置
- 编译工具配置
-
- 安装gn
- 安装ninja
- 安装gcc-riscv32
- 配置环境变量
前言
本文共两篇,此为第一篇用于介绍OpenHarmonyOS的编译环境搭建,第二篇将会介绍源码下载与编译
本文内容仅适用于Windows10/11和Linux。作者在学习Openharmony开发时一直是用的小熊派官方的VHD通过加载进虚拟机再本地SSH进行编译再通过SFTP取回编译结果的方式进行开发学习,属实是绕了一大圈,于是想通过DevEco Device Tools,但Windows又不支持编译我这MCU,上Linux又懒得切系统,配置更是麻烦,所以最后有了通过WSL的方式在Windows使用VSC开发的想法。(环境配置同样适用于Linux)
准备阶段
- 一台装有Linux\Windows10的电脑。
Windows下配置
Linux用户可以直接跳转到编译环境配置部分
- 首先确保已经在控制面板->程序和功能->启用或关闭Windows功能里启用了适用于Linux的Windows子系统
- 进入Windows应用商店,找到你喜欢的Linux子系统安装即可,这里我选择了Ubuntu20.04 LTS
- 打开后会进入一段时间的Installing,只要耐心等待即可,之后会要求你输入用户名和密码,按照规则输入就好,之后应该就可以进入shell界面了。
编译环境配置
本文以小熊派BearPi-HM_Nano为例,在Ubuntu下演示鸿蒙开发环境的搭建,大家可以通过类比搭建其他MCU的编译环境,毕竟这是对MCU编程而不是对板子编程。
鸿蒙官方原版源码文档点此
小熊派官方源码及文档点此
python工具包配置
- 安装Python3.8及其以上。
sudo apt install python3
- 安装Pip工具
sudo apt install python3-setuptools python3-pip -y
- 安装python模块setuptools
pip3 install setuptools
- 安装kconfig
sudo pip3 install kconfiglib
- 安装pycryptodome
sudo pip3 install pycryptodome
- 安装six
sudo pip3 install six --upgrade --ignore-installed six
- 安装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
- 从华为云下载gn
wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
- 创建gn目录
mkdir ~/gn
- 解压
tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
安装ninja
- 从华为云下载ninja
wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
- 解压ninja
tar -xvf ninja.1.9.0.tar -C ~/
安装gcc-riscv32
- 百度云链接,提取码1234
- 解压
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/
配置环境变量
- 打开.bashrc
`vim ~/.bashrc - 将以下内容写入文件最后一行
export PATH=~/gn:$PATHexport PATH=~/ninja:$PATHexport PATH=~/gcc_riscv32/bin:$PATH
- 退出保存,输入指令生效
source ~/.bashrc
至此环境搭建完成