一、简介
在使用DevEco进行编译时出现[OHOS ERROR] clang not found, install it please问题,导致编译失败,这里做个问题记录。
二、解决
这种问题其实还是工具链安装不全造成的。
安装gn
这里用的是VSCode DevEco组件,里边包含了gn组件的安装,可以手动点击安装。
在“工程配置”中,选择“添加实用工具”,选择"gn",然后点击“下载未安装的工具”。
因为这里已经安装过gn了,所以在菜单中没有。
也可以手动下载,下载后解压。提供链接:https://repo.huaweicloud.com/harmonyos/compiler/gn/latest/linux/gn-linux-x86-1717.tar.gz
安装ninjia
安装方式同gn,也是在DevEco中点击安装。
也可以手动下载,下载后解压。提供链接:https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.10.1/linux/ninja-linux-x86-1.10.1.tar.gz
安装llvm和clang
这个需要手动下载。直接下载压缩文件即可。提供下载链接:https://repo.huaweicloud.com/harmonyos/compiler/clang/latest/linux/llvm.tar.gz
配置环境
执行如下代码
gedit ~/.bashrc
在文件的末端添加gn、ninja、和llvm的环境变量。
这里需要添加路径,如果是手动下载的,那就将gn、ninjia和llvm解压的路径写上即可。
如果是gn和ninja是通过DevEco安装的,在安装完的终端中,会打印gn和ninja的安装路径,直接拷贝过去即可。
export PATH=/home/qwer/.deveco-device-tool/resources/utilities/gn/1717:$PATH
export PATH=/home/qwer/.deveco-device-tool/resources/utilities/ninja/1.10.1:$PATH
export PATH=/home/qwer/myllvm/llvm/bin:$PATH
本人是通过DevEco安装的,所以,gn和ninja的路径在.deveco-device-tool下。
保存后,在终端中执行如下指令,使设置立即生效。
source ~/.bashrc
成功后,在终端中查看llvm和clang的版本
clang -v
llvm-as --version
有如下结果,表示设置成功。
此时,再编译一次,应该就会成功。如果还是提示clang not found,则重启ubuntu,应该就可以了。