1. OpenHarmony NDK编译三方库实战指南
作为一名长期深耕OpenHarmony生态的开发者,我经常需要将现有的C/C++库移植到OpenHarmony平台。最近在适配Paddle-Lite等AI推理框架时,系统梳理了NDK编译的完整流程和关键技巧。本文将分享从环境搭建到编译调试的全套解决方案,特别针对鸿蒙化改造中的典型问题提供实战经验。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具链配置
2.1 基础环境搭建
推荐使用Ubuntu 22.04 LTS作为基础环境(社区文档基于20.04,但新版本兼容性更好)。需要安装的编译工具链包括:
bash复制sudo apt update
sudo apt install -y gcc cmake make pkg-config autoconf automake libtool
注意:如果之前安装过旧版本cmake(如3.22),建议完全卸载后再安装新版。我在实测中发现3.28+版本对OHOS工具链支持更好。
2.2 OHOS SDK部署
从CI每日构建站点获取SDK时,建议选择标注为"stable"的版本。以5.0.2-Release为例:
- 下载ohos-sdk-full_5.0.2-Release(5.0.2.126).zip
- 在Linux环境下直接解压(避免Windows解压再传输导致的权限问题):
bash复制unzip ohos-sdk-full_5.0.2-Release*.zip
关键目录结构说明:
code复制ohos_sdk/
├── native/
│ ├── build-tools/ # 包含cmake等构建工具
│ ├── llvm/ # 编译器工具链
│ └── sysroot/ # 系统库和头文件
└── js/ # JS相关工具
2.3 定制化CMake配置
由于官方CMake不支持OHOS系统识别,需要进行以下改造:
- 编译安装CMake 3.31:
bash复制wget https://cmake.org/files/v3.31/cmake-3.31.0.tar.gz
tar -zxvf cmake-3.31.0.tar
