如何在HarmonyOS中添加编译参数

如何在HarmonyOS中添加编译参数

HarmonyOS
2024-07-22 11:53:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
milchcow

一、CMakeLists.txt中添加

#设置构建类型为Release,这将关闭debug调试信息 
set(CMAKE_BUILD_TYPE Release) 
 
#-s 标志用于优化编译,它会告诉编译器生成更短的代码 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s") 
 
#解决符号冲突 
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-Bsymbolic") 
 
#统一添加 
#启用堆栈保护;捕获缓冲区溢出安全问题;代码优化;整数溢出检查等 
set(CMAKE_CXX_FLAGS "-fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -ftrapv -s")

二、externalnativeoptions配置中添加

模块级build-profile.json5中externalNativeOptions参数是NDK工程C/C++文件编译配置的入口,可以通过path指定CMake脚本路径、arguments配置CMake参数、cppFlags配置C++编译器参数、abiFilters配置编译架构等。

"externalNativeOptions": { 
  "path": "./src/main/cpp/CMakeLists.txt", 
  "arguments": "-DCMAKE_BUILD_TYPE=Release", 
  "cppFlags": "-fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -ftrapv -s", 
}
分享
微博
QQ
微信
回复
2024-07-22 19:42:16
相关问题
如何在BuildProfile自定义参数
98浏览 • 1回复 待解决
如何在Tabs的tabBar,添加其他组件
379浏览 • 1回复 待解决
HarmonyOS 如何在builder函数传入组件
164浏览 • 0回复 待解决
如何在HarmonyOS唯一标识设备
301浏览 • 1回复 待解决
获取运行时编译构建参数
839浏览 • 1回复 待解决
如何在ArkTS合并对象
815浏览 • 1回复 待解决
如何在ArkTS合并对象?
1174浏览 • 1回复 待解决
如何在page获取WindowStage
623浏览 • 1回复 待解决
如何在UI获取UIAbilityContext
2286浏览 • 1回复 待解决
如何在UI获取Context
2659浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人