学校网站开发的项目背景,wordpress主题有什么用,新注册公司怎么做网站,宜宾长宁网站建设NDK通过CMake和Ninja编译应用的C/C代码#xff0c;编译过程如下图所示。 核心编译过程如下#xff1a; 根据CMake配置脚本以及build-profile.json5中配置的externalNativeOptions构建参数#xff0c;与缓存中的配置比对后#xff0c;生成CMake命令并执行CMake。 执行Ninja…NDK通过CMake和Ninja编译应用的C/C代码编译过程如下图所示。 核心编译过程如下 根据CMake配置脚本以及build-profile.json5中配置的externalNativeOptions构建参数与缓存中的配置比对后生成CMake命令并执行CMake。 执行Ninja按照makefile执行编译和链接将生成的.so以及运行时依赖的.so同步到输出目录完成构建过程。
通过DevEco Studio提供的应用模板可以快速生成CMake构建脚本模板并在build-profile.json5中指定相关编译构建参数。
CMakeLists.txt
通过DevEco Studio模板工程创建的NDK工程中包含默认生成的CMakeLists.txt脚本如下所示
# the minimum version of CMake.
cmake_minimum_required(VERSION 3.4.1)
project(MyApplication) # 定义一个变量并赋值为当前模块cpp目录
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})# 添加头文件.h目录包括cppcpp/include告诉cmake去这里找到代码引入的头文件
include_directories(${NATIVERENDER_ROOT_PATH}${NATIVERENDER_ROOT_PATH}/include)# 声明一个产物libentry.soSHARED表示产物为动态库hello.cpp为产物的源代码
add_library(entry SHARED hello.cpp)# 声明产物entry链接时需要的三方库libace_napi.z.so
# 这里直接写三方库的名称是因为它是在ndk中已在链接寻址路径中无需额外声明
target_link_libraries(entry PUBLIC libace_napi.z.so)默认的CMakeLists.txt脚本中添加了编译所需的源代码、头文件以及三方库开发者可根据实际工程添加自定义编译参数、函数声明、简单的逻辑控制等。
externalNativeOptions
模块级build-profile.json5中externalNativeOptions参数是NDK工程C/C文件编译配置的入口可以通过path指定CMake脚本路径、arguments配置CMake参数、cppFlags配置C编译器参数、abiFilters配置编译架构等。
apiType: stageMode,
buildOption: {arkOptions: {},externalNativeOptions: {path: ./src/main/cpp/CMakeLists.txt,arguments: ,cppFlags: ,abiFilters: [arm64-v8a,armeabi-v7a,x86_64],}
}externalNativeOptions具体参数说明如下表所示。 更多关于build-profile.json5中参数的说明请参考build-profile.json5。
为了能让大家更好的学习鸿蒙HarmonyOS NEXT开发技术这边特意整理了《鸿蒙开发学习手册》共计890页希望对大家有所帮助https://qr21.cn/FV7h05
《鸿蒙开发学习手册》
如何快速入门https://qr21.cn/FV7h05
基本概念构建第一个ArkTS应用…… 开发基础知识https://qr21.cn/FV7h05
应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言…… 基于ArkTS 开发https://qr21.cn/FV7h05
Ability开发UI开发公共事件与通知窗口管理媒体安全网络与链接电话服务数据管理后台任务(Background Task)管理设备管理设备使用信息统计DFX国际化开发折叠屏系列…… 鸿蒙开发面试真题含参考答案https://qr18.cn/F781PH 鸿蒙开发面试大盘集篇共计319页https://qr18.cn/F781PH
1.项目开发必备面试题 2.性能优化方向 3.架构方向 4.鸿蒙开发系统底层方向 5.鸿蒙音视频开发方向 6.鸿蒙车载开发方向 7.鸿蒙南向开发方向