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.鸿蒙南向开发方向

相关推荐
weixin_493503673 小时前
Vue3 前端生成 PDF:会员证书与活动签到表的三种打印方案与踩坑记录
前端·pdf·状态模式
傻啦嘿哟3 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670793 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
李少兄4 小时前
JavaScript 数据类型完全指南
开发语言·javascript·ecmascript
码匠许师傅4 小时前
【设计模式精讲】29.行为型模式总结与对比(Behavioral Patterns Summary)
c++·设计模式·uml
Seoyoneh5 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
啦啦啦啦啦zzzz5 小时前
Logger的组装(c++20)
c++·算法·c++20
Tangyuewei5 小时前
Java 写 Agent:模型只是组件
java·开发语言
小玮看世界6 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
尾善爱看海6 小时前
前端算法与手写题集
前端·算法