电子产业一站式赋能平台

PCB联盟网

搜索
查看: 747|回复: 0
收起左侧

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

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-10-30 15:56:33 | 显示全部楼层 |阅读模式
《鸿蒙设备学习菜鸟指南》之【六、搭建编译环境】, 《鸿蒙设备学习菜鸟指南》之【六、搭建编译环境】



[目录索引]

六、搭建编译环境

我们同样首先使用最简化的方案,先入门,然后再配置复杂的方案,循序渐进。



最简化方案:

.          Windows系统:

–             Docker无忧包:编译环境已配好,安装后就可以使用啦

.          MacOS系统:

–             Docker无忧包:编译环境已配好,安装后就可以使用啦

.          Linux系统:

–             Docker无忧包:编译环境已配好,安装后就可以使用啦,不影响系统自身环境

是的,Docker方案,就是这么简单,不用怀疑了





.          Docker无忧包安装方法:

首先,下载 https://bbs.elecfans.com/jishu
19995511_1.html 中的scrip.zip工具包,并解压备用。

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





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

–         Windows10: 下载

–         Windows7:下载

            安装完成Docker并点击Docker图标启动后,等待一小会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编译环境中,继续执行:

ch mod a+x /mnt/buildtools/*.sh

apt install -y rsync patch wget nano

setupEnv

setupEnv








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

            安装完成后,点击Docker图标启动,待任务栏的Docker图标不再闪动,然后执行下面的命令:   

     #说明:以下在VsCode终端窗口执行,或者Terminal中执行:

mkdir -p /OHOS/code

#说明:将之前下载的scrip.zip,拷贝到OHOS/目录中

cd /OHOS

unzip script.zip

ch mod 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

ch mod 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
      


            

安装后,最后提示信息如下,即表示安装成功,可以进行到下一步了。



此时,我们一般进行一次基础编译,确保编译环境做好了准备。

在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编译环境中,继续执行上面的指令


如果你看到如下提示信息,恭喜你,编译成功:





现在,code目录下的out目录中,已经出现了我们第一次编译完成的结果:





现在基础编译环境已经搭建好了,我们可以继续我们的下一段旅程了。

需要注意的是,如果你的板子是 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配置方案(不改变系统现有环境),安装后,跟着指南一步一步安装所需要的软件即可,包好用
回复

使用道具 举报

发表回复

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

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表