Android CMake:如何检查编译时是否考虑了 cppFlags 和参数?
Android CMake: how to check if cppFlags and arguments are taken into account at compile time?
我有一个 Android/NDK/JNI/Java/C++ 项目。
我有一个 Gradle 文件,如下所示:
....
cmake {
cppFlags "-std=c++11 -fexceptions"
arguments "-DANDROID_STL=c++_static"
}
....
我的问题是:如何检查在编译我的 Android 项目时是否充分考虑了这些标志和参数?
谢谢
我有一个很大的 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
文件夹内的项目变体文件夹中找到它。
通常,arguments
是传递给 cmake 的参数,但 cppFlags
是传递给编译器的标志。
我有一个 Android/NDK/JNI/Java/C++ 项目。
我有一个 Gradle 文件,如下所示:
....
cmake {
cppFlags "-std=c++11 -fexceptions"
arguments "-DANDROID_STL=c++_static"
}
....
我的问题是:如何检查在编译我的 Android 项目时是否充分考虑了这些标志和参数?
谢谢
我有一个很大的 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
文件夹内的项目变体文件夹中找到它。
通常,arguments
是传递给 cmake 的参数,但 cppFlags
是传递给编译器的标志。