Win端交叉编译鸿蒙Ohos Native层第三方库流程

2024-05-16 15:12

本文主要是介绍Win端交叉编译鸿蒙Ohos Native层第三方库流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 概述

鸿蒙端SDK开发需要依赖使用到的三方库(如OpenCV、其他C++库等),以下为Windows端交叉编译Ohos端三方库流程

2. 准备工作

与Android NDK交叉编译相类似,我们首先需要下载OpenHarmony NDK(包含在OpenHarmony SDK中),这里笔者使用IDE中自带NDK进行操作。

DevEco Studio下载地址:
https://developer.huawei.com/consumer/cn/deveco-studio/
OpenHarnony SDK下载地址:
https://gitee.com/openharmony/docs/tree/master/zh-cn/release-notes#openharmony-release-notes

OpenHarmony NDK目录:

native
├── NOTICE.txt
├── build                            # cmake工具链的配置
├── build-tools                      # cmake工具链目录
├── docs
├── llvm                             # llvm编译器工具链
├── nativeapi_syscap_config.json     # NDK提供的SystemCapability的相关头文件
├── ndk_system_capability.json       # NDK提供的SystemCapability的描述文件
├── oh-uni-package.json              # 版本信息
└── sysroot                          # NDK包含的库文件和头文件

3.编译流程

1.解压NDK压缩包,将cmake工具链添加到环境变量中

# 注意这里是win11的powershell环境, 添加临时环境变量
$env:path+=";J:\Users\Administrator\Huawei\Sdk\openharmony\9\native\build-tools\cmake\bin"

2.进入待编译的三方库目录 (需要是支持CMake编译方式的, powershell命令行)
3.编译

mkdir build
cd build
cmake `
-DOHOS_STL=c++_shared `
-DOHOS_ARCH=x86_64 `
-DOHOS_PLATFORM=OHOS `
-DCMAKE_TOOLCHAIN_FILE=${SDK路径}/openharmony/9/native/build/cmake/ohos.toolchain.cmake ..# 参数解释:
# OHOS_STL:默认c++_shared,可选c++_static
# OHOS_ARCH: 默认arm64-v8a,可选armeabi-v7a、x86_64
# OHOS_PLATFORM:仅支持OHOS
# CMAKE_TOOLCHAIN_FILE:cmake的工具链的配置文件所在路径
# 关于CMAKE的其他配置选项,应当放置在-DCMAKE_TOOLCHAIN_FILE 之后ninja
# ninja install (可选等同于 make install)

4.参考

https://gitee.com/openharmony/build/blob/master/docs/how-to-use-the-ndk-tools.md#https://gitee.com/openharmony/docs/tree/master/zh-cn/release-notes#openharmony-release-notes

这篇关于Win端交叉编译鸿蒙Ohos Native层第三方库流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995262

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof