我有一个Android/NDK/JNI/Java/C++项目。
我有一个Gradle文件,如下所示:
....
cmake {
cppFlags "-std=c++11 -fexceptions"
arguments "-DANDROID_STL=c++_static"
}
....我的问题是:在编译我的Android项目时,如何检查这些标志和参数是否得到了充分的考虑?
谢谢
发布于 2021-07-12 23:39:35
我有一个很大的cmake文件,其中包含这样的部分:
cmake {
arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_STL=c++_static"
cFlags "-D__STDC_FORMAT_MACROS", "-fno-integrated-as", "-fvisibility=hidden"
cppFlags "-fexceptions", "-frtti", "-fno-integrated-as", "-fvisibility=hidden"
}
//...
flavorDimensions "mode"
productFlavors {
normal {
dimension "mode"
externalNativeBuild {
cmake {
cFlags "-DNORMAL"
cppFlags "-DNORMAL"
}
}
}
demo {
dimension "mode"
externalNativeBuild {
cmake {
cFlags "-DDEMO"
cppFlags "-DDEMO"
}
}
}
}并且所有的选项都被考虑在内。但是如果你愿意,你可以检查cmake缓存文件。构建文件名为build.ninja,您可以在.cxx文件夹内的项目variant文件夹中找到它。
通常,arguments是传递给cmake的参数,而cppFlags是传递给编译器的标志。
https://stackoverflow.com/questions/68350094
复制相似问题