通过cmake为我的Android项目导入库时,Google样本会显示两种定义路径/参数的不同方法:
1)在gradle文件中:
externalNativeBuild {
cmake {
cppFlags "-std=c++11", "-Wall"
arguments "-DANDROID_STL=c++_static",
"-DARCORE_LIBPATH=${arcore_libpath}/jni",// libraries for native arcore sdk
"-DARCORE_INCLUDE=${project.rootDir}/includes"// add arcore_c_api.h
}
}
这定义了ANDROID_STL
,ARCORE_LIBPATH
和ARCORE_INCLUDE
,稍后将在CmakeList.txt
文件中使用
2)或在CmakeList.txt
内:
set(GOOGLETEST_ROOT ${ANDROID_NDK}/sources/third_party/googletest)
add_library(gtest
STATIC
${GOOGLETEST_ROOT}/src/gtest_main.cc
${GOOGLETEST_ROOT}/src/gtest-all.cc)
target_include_directories(gtest PRIVATE ${GOOGLETEST_ROOT})
target_include_directories(gtest PUBLIC ${GOOGLETEST_ROOT}/include)
变量GOOGLETEST_ROOT
也可以在gradle内部定义。
哪种方法是正确的,为什么?
它会改变性能吗?建立订单还是什么?