OpenHarmony的C/C++三方库的适配

简介

本仓库主要用于存放已经适配OpenHarmony的C/C++三方库的适配脚本和OpenHarmony三方库适配指导文档、三方库适配相关的工具。

三方库适配

本仓库的三方库主要是通过OpenHarmony SDK进行交叉编译适配的,并集成到应用端进行使用。

在使用OpenHarmony的SDK进行交叉编译的过程中较关注的问题是:不同编译构建方式如何进行交叉编译、不同的编译构建平台如何配置交叉编译的环境、不同的交叉编译架构如何配置以及交叉编译后的产物如何进行测试验证。

编译构建方式

当前开源的C/C++三方库编译方式多样化,以下为主流的几种交叉编译方式:

  • cmake 编译构建 。
  • configure 编译构建方式 。
  • make 编译构建 。

为了帮助开发者快速便捷的完成C/C++三方库交叉编译,我们开发了一套交叉编译框架 lycium ,其涵盖了以上三种构建方式。

编译构建平台

当前大部分的三方库都是在linux环境下进行交叉编译构建的,除此外,我们也可能需要在windows、MacOS等平台进行构建:

  • windows平台构建
  1. windows平台交叉编译
  2. IDE通过源码方式集成C/C++三方库

添加不同CPU架构

当前lycium交叉编译适配的CPU架构只支持arm32位和arm64位的,如若需新增其他CPU架构,请参照lycium上面适配OpenHarmony 不同架构的构建

三方库测试验证

原生库测试用例验证

业界内C/C++三方库测试框架多种多样(ctest、make check以及原生库demo用例等),我们无法将其统一,因此为了确保原生库功能的完整性,需基于原生库的测试用例进行测试验证。详细信息请参照三方库快速验证指导

北向应用调用

请阅读北向应用如何使用三方库二进制文件

应用端集成三方库知识赋能

本仓库目录

shell 复制代码
tpc_c_cplusplus
├── README_zh.md            # 仓库主页
├── docs                    # 说明文档/三方库适配文档8
├── lycium                  # 三方库适配相关工具
├── thirdparty              # 已经适配OpenHarmony的三方库的构建脚本
├── LICENSE                 # 本仓库的开源license文件
......

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ......

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题

2.性能优化方向

3.架构方向

4.鸿蒙开发系统底层方向

5.鸿蒙音视频开发方向

6.鸿蒙车载开发方向

7.鸿蒙南向开发方向

相关推荐
quweiie18 分钟前
thinkphp8+layui多图上传,带删除\排序功能
前端·javascript·layui
李鸿耀23 分钟前
React 项目 SVG 图标太难管?用这套自动化方案一键搞定!
前端
小杨同学yx26 分钟前
有关maven的一些知识点
java·开发语言
闲蛋小超人笑嘻嘻26 分钟前
树形结构渲染 + 选择(Vue3 + ElementPlus)
前端·javascript·vue.js
我是华为OD~HR~栗栗呀41 分钟前
华为od-21届考研-C++面经
java·c语言·c++·python·华为od·华为·面试
oioihoii1 小时前
C++ 中的类型转换:深入理解 static_cast 与 C风格转换的本质区别
java·c语言·c++
重生之我要当java大帝1 小时前
java微服务-尚医通-编写医院设置接口下
java·开发语言·sql
寻找华年的锦瑟1 小时前
Qt-QDir
开发语言·qt
叶梅树1 小时前
从零构建A股量化交易工具:基于Qlib的全栈系统指南
前端·后端·算法
巴博尔1 小时前
uniapp的IOS中首次进入,无网络问题
前端·javascript·ios·uni-app