标签:build cep toolchain 脚本 tool 编译 flag 去掉 clang
NDK开发中,build.gradle
中临时添加了-fnoexception
编译选项:
externalNativeBuild {
cmake {
cppFlags '-std=c++11 -fexceptions' //!!!这里是新增的
arguments '-DANDROID_PLATFORM=android-21',
'-DCMAKE_BUILD_TYPE="Release',
'-DANDROID_ARM_NEON=ON',
'-DANDROID_STL=c++_shared'
// cppFlags '-std=c++11'
// arguments '-DANDROID_TOOLCHAIN=clang',
// '-DANDROID_STL=c++_static'
// cppFlags "-std=c++11 -fexceptions"
}
}
结果,点击sync now
之后,CMake脚本都失去了高亮,并且报错提示clang++没法识别-fnoexception。检查发现,是CMake脚本中设定了CMAKE_CXX_FLAGS
的值里面有-fno-exceptions
导致的,去掉即可:
#SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions -fno-short-enums -Werror=non-virtual-dtor")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-short-enums -Werror=non-virtual-dtor")
也就是说,是build.gradle脚本和cmake的脚本中的C++编译选项,对于是否启用exception有冲突导致的。
标签:build cep toolchain 脚本 tool 编译 flag 去掉 clang
原文地址:https://www.cnblogs.com/zjutzz/p/12159112.html