CMake - set_property 找不到缓存变量
CMake - set_property could not find CACHE variable
免责声明: 我知道 this 问题。然而,OP 的需求与我的不同:他真正想要的是将应用程序移植到 Linux,因此答案就在那一行,而不是回答我想知道的:错误的原因。
中的说明在 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 中使用漂亮的下拉菜单,而是收到以下错误:
CMake Error at CMakeLists.txt:9 (set_property): set_property could
not find CACHE variable TARGET_ARCHITECTURE. Perhaps it has not yet
been created
问题:我做错了什么?
您可以使用 message()
检查变量 TARGET_ARCHITECTURE
的值,您会发现 CACHE 是一个 部分 该值。
这是因为您在 set()
命令中使用了不常见的双引号 ("
),而是 特定语言 (“
).所以 CMake 将 set()
命令视为不是 CACHE 的命令。这是错误消息的原因。
免责声明: 我知道 this 问题。然而,OP 的需求与我的不同:他真正想要的是将应用程序移植到 Linux,因此答案就在那一行,而不是回答我想知道的:错误的原因。
中的说明在 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 中使用漂亮的下拉菜单,而是收到以下错误:
CMake Error at CMakeLists.txt:9 (set_property): set_property could not find CACHE variable TARGET_ARCHITECTURE. Perhaps it has not yet been created
问题:我做错了什么?
您可以使用 message()
检查变量 TARGET_ARCHITECTURE
的值,您会发现 CACHE 是一个 部分 该值。
这是因为您在 set()
命令中使用了不常见的双引号 ("
),而是 特定语言 (“
).所以 CMake 将 set()
命令视为不是 CACHE 的命令。这是错误消息的原因。