CMake - set_property找不到CACHE变量

时间:2016-12-14 18:35:58

标签: cmake cmake-gui

免责声明:我知道this问题。然而,OP的需求与我的不同:他实际想要的是将应用程序移植到Linux,因此答案就在那条线上,而不是回答我想知道的:错误的原因。

我正按照herehere

中的说明尝试在CMake GUI中创建下拉列表

所以我有这个非常简单的CMakeLists.txt:

cmake_minimum_required(VERSION 3.6)

project(datasetprograms)

set(CMAKE_CXX_STANDARD 11)

#LINES TO MAKE THE GUI DROP-DOWN:
set(TARGET_ARCHITECTURE “arm” CACHE STRING “Architecture to compile to”)
set_property(CACHE TARGET_ARCHITECTURE PROPERTY STRINGS arm x86)

#Add subdirectories for each project
add_subdirectory(helloworld)

基本上我只是按照说明复制并粘贴。但是,我没有在CMake GUI中有一个很好的下拉列表,而是出现了以下错误:

  

CMakeLists.txt上的CMake错误:9(set_property):set_property可以   找不到CACHE变量TARGET_ARCHITECTURE。也许还没有   已创建

问题:我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以使用TARGET_ARCHITECTURE检查变量message()的值,然后您会发现 CACHE 是该值的部分

这是因为您在set()命令中使用的双引号不是常用的("),而是语言特定的)。因此,CMake将set()命令视为 CACHE ' d。这是错误消息的原因。