图13
下载完成后,然后解包并设置环境变量。
tar -xvfgcc_riscv32-linux-7.3.0.tar.gz -C ~/
把 ~/gcc_riscv32/bin 加入到启动脚本里去
export PATH=~/gcc_riscv32/bin:$PATH
使用新脚本环境
source ~/.bashrc
检查交叉编译工具是否准备就绪
riscv32-unknown-elf-gcc -v
如果看到如下图内容,则表明交叉编译工具已安装正确。
图14
3.7.安装gn
执行以下命令安装gn,
sudo apt-get install gn
安装是遇到错误,提示
E: Unable to locate package gn
更源之后再安装包源,使用如下更新源命令后,但仍然提示找到不到该包。
sudo apt-get update
sudo apt-get upgrade
从网上查看资料得知,最新的gn包已经不在库中,需要自行从源码上去编译。
自行编译的方法如下:
1)先安装clang 编译器
安装 clang,clang 是C++17的编译工具
执行命令
sudo apt-get install clang
检查安装程序
图15
2)下载gn 的源码
gitclone https://github.com/timniederhausen/gn.git
这个源码我放到文末了,
3)编译 gn
进入刚才下载的gn目录中,先执行gn的配置脚本。
./build/gen.py
然后在gn目录中执行:
ninja-C out
一共218个文件,经过漫长的编译后,gn程序就在gn/out目录中。
图16
4)安装gn
将gn/out目录下的gn复制到/usr/bin目录就可以在任意位置使用gn了。
cp./out/gn /usr/bin #在gn目录下执行
检查安装是否正确,效果如下:
图17
3.8.安装ninja
如果上一步没有ninja包,则需要单独执行安装ninja包的命令,先安装依赖包
sudo apt-get install re2c
再安装
sudo apt-get install ninja-build
图18
检查执行程序,如下图安装正确:
图19
3.9.安装llvm
先从下面地址下载llvm
然后解压
tar -xf llvm-linux-9.0.0-36191.tar -C~/
再把 llvm/bin 路径加到 .bashrc里去
最后检查llvm 安装是否正确,如下图显示则表示安装成功。
图20
3.10 安装hb
执行命令
python3 -m pip install --user ohos-build
图21
报了一些错,从信息看,是目标文件的版本和本地不一致,经过检查python本地库版本信息,最后使用离线下载包的方式,先从网上找到ohos-builder包下载到Ubuntu上,然后再本地安装,最后成功。
下载地址为: http://pypi.doubanio.com/simple/ohos-build/
需要注意的是,这个里包需要跟python的版本一致,最新的4.5的包需要 python3.9 才行,而我用的是的python3.8因此,经过尝试,下载了ohos_build-0.4.0-py3-none-any.whl安装成功。
图22
检查hb 安装是否正确,显示如下,表示安装成功。
图23
----------------------------附件 gn 源码-------------------------------------
代码下载地址,详见作者原帖子内容。