【发布时间】:2018-03-06 15:57:28
【问题描述】:
我正在尝试为 android 构建本机库,我需要执行条件编译。所以我的 CMakeLists.txt 文件中有以下代码
#set (TEST_VAL OFF) #uncomment this to force set this value
option(TEST_VAL "Test my value")
if(NOT ${TEST_VAL} EQUAL OFF)
message(WARNING "TEST MY VAL IS NOT EQUAL OFF ACTUAL VALUE: ${DISABLE_SSE} ")
else ()
message(WARNING "TEST MY VAL IS ON ACTUAL VALUE: ${DISABLE_SSE} ")
endif()
如您所见,我正在尝试获取选项值并编译库。
这就是我提供此选项 (build.gradle) 文件的方式。
android {
...
defaultConfig {
...
externalNativeBuild {
cmake {
// Passes optional arguments to CMake.
arguments "-DTEST_VAL=OFF"
}
}
...
}
但在我的输出中我只看到:
CMake Warning at CMakeLists.txt:35 (message): TEST MY VAL IS NOT EQUAL OFF ACTUAL VALUE: OFF
那么,OFF 值怎么可能不等于 OFF? 我做错了什么。
非常感谢。
【问题讨论】:
-
谢谢@john,它实际上是一个有问题的类型。如果我使用 set (TEST_VAL OFF) 显式设置值,主要问题是我有相同的结果
标签: android c++ cmake android-ndk