是否在Android项目的Gradle或Cmake中定义参数?

时间:2018-12-27 15:36:59

标签: android cmake android-gradle

通过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_STLARCORE_LIBPATHARCORE_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内部定义。

哪种方法是正确的,为什么?

它会改变性能吗?建立订单还是什么?

0 个答案:

没有答案