CMake配置HarmonyOS编译工具链构建工程(一)
1、下载Command Line Tools https://developer.huawei.com/consumer/cn/download/

2、解压SDK文件。Sdk文件夹对于构建很重要

3、配置环境变量。
3.1、vim编辑.bashrc文件

3.2、设置CMake环境变量。
export OHOS_SDK=~/SDK/ohosSDK/command-line-tools/sdk/default/openharmony
export PATH=${OHOS_SDK}/native/build-tools/cmake/bin:$PATH

3.3、按 Esc 确保处于命令模式; 输入 :wq 保存并退出; source ~/.bashrc使配置生效。使用which cmake,查看cmake命令路径
4、下载第三方源码git clone https://github.com/DaveGamble/cJSON.git -b v1.7.18

5、在cJSON目录下新建一个build目录。mkdir build && cd build
5.1、使用命令构建项目。当前处于build路径下,..指到上一级目录中查找CMakeLists.txt。
cmake -DOHOS_STL=c++_shared -DOHOS_ARCH=arm64-v8a -DOHOS_PLATFORM=OHOS -DCMAKE_TOOLCHAIN_FILE=/home/username/SDK/ohosSDK/command-line-tools/sdk/default/openharmony/native/build/cmake/ohos.toolchain.cmake ..
5.2、执行编译make -j8
5.3、编译完成后,查看文件信息file libcjson.so.1.7.18。
Username@ubuntu:~/ThirdParty/cJSON/build$ file libcjson.so.1.7.18 libcjson.so.1.7.18: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e7cf45761d7c174ff02cfcc876dbaa177e3e0da4, with debug_info, not stripped
6、使用CMake-GUI配置HarmonyOS工具链构建。
6.1、/command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin路径下运行cmake-gui

6.2、指定编译器(不清楚为何生成的so是x86-64)
6.2.1、使用HarmonySDK的C/C++编译器

6.2.2、到路径中/command-line-tools/sdk/default/openharmony/native/llvm/bin选择C/C++编译器后点击finish。

6.2.3、点击Generate按钮。根据CMakeLists.txt自动生成makefile文件。最后在build路径下打开控制台,执行make -j8编译生成库文件

7、使用鸿蒙工具链构建(操作跟前面第6点一致),生成arm64-v8a




浙公网安备 33010602011771号