[文章]

《鸿蒙设备学习菜鸟指南》之【六、搭建编译环境】

2020-10-30 14:24:11  366 鸿蒙系统 搭建编译环境 HarmonyOS 鸿蒙OS
分享
0
《鸿蒙设备学习菜鸟指南》之【六、搭建编译环境】

[目录索引]
六、搭建编译环境
我们同样首先使用最简化的方案,先入门,然后再配置复杂的方案,循序渐进。

最简化方案:
          Windows系统:
             Docker无忧包:编译环境已配好,安装后就可以使用啦
          MacOS系统:
             Docker无忧包:编译环境已配好,安装后就可以使用啦
          Linux系统:
             Docker无忧包:编译环境已配好,安装后就可以使用啦,不影响系统自身环境
是的,Docker方案,就是这么简单,不用怀疑了


          Docker无忧包安装方法:
首先,下载 https://bbs.elecfans.com/jishu19995511_1.html 中的scrip.zip工具包,并解压备用。

           然后,我们打开VsCode,依次菜单操作:查看(View) -> 终端(Terminal),然后进入底部的终端窗口,进行操作:

  •          Windows:示例代码目录 D:\OHOS\code
首先安装Docker:

         Windows10: 下载
         Windows7:下载
           安装完成Docker并点击Docker图标[img=24,33]blob:https://bbs.elecfans.com/2afad581-2327-4a3f-af61-5252ce7008e7[/img]启动后,等待一小会Docker启动完成,依次执行下面的命令
     #说明:以下在VsCode终端窗口执行,或者命令行黑窗口中执行:
D:
mkdir \OHOS\code
cd \OHOS
#说明:将之前下载的scrip.zip解压后的目录buildtools,放到OHOS\code目录中,并确保下面的命令
dir \OHOS\code\buildtools
#输出:checkEnv.sh和setupEnv.sh
#说明:启动docker编译环境
docker run -it --name hm_build -v "D:/OHOS/code:/mnt" walker2048/hm_build:slim_iot
     #说明:Docker启动后,会进入Linux环境`In Docker@/mnt #`,在docker编译环境中,继续执行:
chmod a+x /mnt/buildtools/*.sh
apt install -y rsync patch wget nano
setupEnv
setupEnv



  •          MacOS:示例代码目录 ~/OHOS/code
首先安装Docker:下载

           安装完成后,点击Docker图标[img=16,13]blob:https://bbs.elecfans.com/0b1c75e0-0646-4376-8c9e-8a09735fb496[/img]启动,待任务栏的Docker图标不再闪动,然后执行下面的命令:   
   #说明:以下在VsCode终端窗口执行,或者Terminal中执行:
mkdir -p /OHOS/code
#说明:将之前下载的scrip.zip,拷贝到OHOS/目录中
cd /OHOS
unzip script.zip
chmod a+x code/buildtools/*.sh
#说明:下载编译包和代码包;因为系统原因,下面两个包需要提前下载解压
wget -c https://repo.huaweicloud.com/har ... -linux-7.3.0.tar.gz
wget -c https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz
tar xzvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/OHOS/code/buildtools
tar xzvf code-1.0.tar.gz -C ~/OHOS/code
#说明:启动docker编译环境
docker run -it --name hm_build -v "$(pwd)/code:/mnt" walker2048/hm_build:slim_iot
     #说明:Docker启动后,会进入Linux环境`In Docker@/mnt #`,在docker编译环境中,继续执行:
apt install -y rsync patch wget nano make
setupEnv
mkdir -p /OHOS/code-1.0
rsync -avP --exclude buildtools /mnt/* /OHOS/code-1.0
checkEnv

           
  •          Linux:示例代码目录 ~/OHOS/code

           先安装Docker并启动,然后执行如下命令:
  •           Ubuntu 20.04 LTS / 18.04 LTS:

    #说明:以下在VsCode终端窗口执行,或者Terminal中执行:
mkdir -p ~/OHOS/code
#说明:将之前下载的scrip.zip,拷贝到OHOS/目录中
cd ~/OHOS
unzip script.zip
chmod a+x code/buildtools/*.sh

#Ubuntu20.04/18.04 LTS的Docker安装方法:https://m.yisu.com/zixun/147857.html
#说明:启动docker编译环境
docker run -it --name hm_build -v "$(pwd)/code:/mnt" walker2048/hm_build:slim_iot
#说明:Docker启动后,会进入Linux环境`In Docker@/mnt #`,在docker编译环境中,继续执行:
apt install -y rsync patch wget nano make
setupEnv
checkEnv

  •           CentOS:安装docker后,其他请参考Ubuntu

           
安装后,最后提示信息如下,即表示安装成功,可以进行到下一步了。
[img=373,215]blob:https://bbs.elecfans.com/7900f99c-cc83-46d5-83e3-e66d33b1fb52[/img]

此时,我们一般进行一次基础编译,确保编译环境做好了准备。
In Docker@ #提示符下执行如下编译命令:

#说明:Docker启动后,会进入Linux环境`In Docker@/mnt #`,在docker编译环境中,继续执行:
#MacOS环境:
cd /OHOS/code-1.0
python build.py wifiiot
rsync -avP out /mnt/
#Windows和Linux环境
cd /mnt/
python build.py wifiiot


如果不在In Docker@提示符下面,则需要再次执行以上的docker命令:
#说明:以下在VsCode终端窗口执行,或者Terminal或者命令行黑窗口中执行:
#说明:启动docker编译环境
docker start hm_build
docker exec -it hm_build /bin/bash
#说明:进入Docker环境后后,会进入Linux环境`In Docker@ #`,在docker编译环境中,继续执行上面的指令

如果你看到如下提示信息,恭喜你,编译成功:
[img=420,151]blob:https://bbs.elecfans.com/2c36b4f5-e001-4754-b296-7a9da5e4f7fe[/img]

现在,code目录下的out目录中,已经出现了我们第一次编译完成的结果:
[img=420,533]blob:https://bbs.elecfans.com/6ae5846c-1e49-45a5-8b72-316be85aa2a3[/img]

现在基础编译环境已经搭建好了,我们可以继续我们的下一段旅程了。
需要注意的是,如果你的板子是AIC或者IPC,则还要两个包需要安装:LLVM和hc-gen。
#说明:以下在VsCode终端窗口执行,或者Terminal或者命令行黑窗口中执行:
#Mac环境,非`In Docker@ #`提示符下面操作;Windows或者Linux跳过
cd ~/OHOS
wget -c https://repo.huaweicloud.com/har ... nux-9.0.0-34042.tar
wget -c https://repo.huaweicloud.com/har ... -gen-0.65-linux.tar
tar xvf llvm-linux-9.0.0-34042.tar -C ~/OHOS/code/buildtools
tar xvf hc-gen-0.65-linux.tar -C ~/OHOS/code/buildtools

#然后启动Docker编译环境
#说明:启动docker编译环境;如果当前处于`In Docker@ #`,则下面两条命令不用执行
docker start hm_build
docker exec -it hm_build /bin/bash

#说明:进入Docker环境后后,会进入Linux环境`In Docker@ #`,在docker编译环境中,继续执行下面的指令
#Mac系统已做好设置,下面命令跳过;
#Windows和Linux系统需要执行:
cd /mnt/buildtools
wget -c https://repo.huaweicloud.com/har ... nux-9.0.0-34042.tar
wget -c https://repo.huaweicloud.com/har ... -gen-0.65-linux.tar
tar xvf llvm-linux-9.0.0-34042.tar -C /mnt/buildtools/
tar xvf hc-gen-0.65-linux.tar -C /mnt/buildtools/

#安装编译需要的工具
apt install -y dosfstools mtools mtd-utils zip
apt install -y gcc g++ make zlib* libffi-dev

#添加环境变量,打开bash配置,并在最后添加
# nano ~/.bashrc
export PATH=/mnt/buildtools/llvm/bin:$PATH
export PATH=/mnt/buildtools/hc-gen:$PATH
#编辑完成,按Ctrl+X,再选择Y或者N,表示保存或者不保存

#使扩展编译包生效
In Docker@ # source ~/.bashrc
#检查
In Docker@ # hc-gen -v
#输出:Hcs compiler v0.65
In Docker@ # clang -v
#输出:clang version 9.0.0



其他方案:
          Windows系统:
         方案1:Docker配置方案,安装后,跟着指南一步一步安装所需要的软件即可,包好用
         方案2:虚拟机Linux
         方案3:WSL,Win10自带Linux子系统
         方案4:云主机或真机Linux,参考虚拟机Linux
         方案5:cygwin或者msys(难度较大)
          MacOS系统:
         Docker配置方案,安装后,跟着指南一步一步安装所需要的软件即可,包好用
         虚拟机Linux
          Linux系统:
         系统自身
         Docker配置方案(不改变系统现有环境),安装后,跟着指南一步一步安装所需要的软件即可,包好用


李隆 2020-10-30 14:30:34
666,乔帮主威武
1回复

举报

乔楚 2020-10-30 14:35:20
本帖最后由 HonestQiao 于 2020-11-10 14:30 编辑

编辑器不那么好用,大家对照着图看吧:

Windows下Docker安装:https://www.runoob.com/docker/windows-docker-install.html

需要的script.zip压缩包文件:
从网盘 https://pan.baidu.com/s/11F63BduuNkuR2W3HhT0hnA (密码: bpnn)鸿蒙工具->脚本 下载

特别提醒:Windows安装环境最后的命令:
  1. setupEnv
  2. setupEnv
复制代码

应为:
  1. setupEnv
  2. checkEnv
复制代码




切片 1.png

script_2.0.zip

1.76 KB, 下载次数: 2, 下载积分: 积分 -1 分

回复

举报

乔楚 2020-10-30 14:41:29
切片 2.png
回复

举报

乔楚 2020-10-30 14:41:58
切片 3.png
回复

举报

乔楚 2020-10-30 14:42:19
切片 4.png
回复

举报

评论

您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发文章