相关疑难解决方法(0)

检查工具链文件中的CMake缓存变量

我在通过命令行设置配置变量时遇到问题.我无法从系统中确定它,所以我希望用户指定:

cmake -DCMAKE_TOOLCHAIN_FILE=../android.toolchain -DANDROID_ABI:STRING="arm64" ..
Run Code Online (Sandbox Code Playgroud)

在我的内心android.toolchain,我有以下内容:

message(STATUS "Android ABI: ${ANDROID_ABI}")
if( "${ANDROID_ABI}" STREQUAL "" )
   message(FATAL_ERROR "Please specifiy ABI at cmake call -DANDROID_ABI:STRING=armeabi or -DANDROID_ABI:STRING=arm64")
endif()
Run Code Online (Sandbox Code Playgroud)

无论如何,它都会在这条线上失败,即使它打印出正确的arm64:

 -- Android ABI: arm64
CMake Error at yaml-cpp/android.toolchain:45 (message):
Please specifiy ABI at cmake call -DANDROID_ABI:STRING=armeabi or -DANDROID_ABI:STRING=arm64
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我做错的事吗?


我认为这与以下内容有关:

  • -D添加缓存变量而不是普通变量
  • 这是在工具链文件中...它似乎忽略缓存变量

有什么想法或建议吗?

cmake

8
推荐指数
1
解决办法
1325
查看次数

标签 统计

cmake ×1