免责声明:我知道这个问题。但是,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中放下一个不错的下拉,而是得到以下错误:
cmakelists.txt上的cmake错误:9(set_property):set_property可以 找不到缓存变量target_architecture。也许还没有 被创建
问题:我在做什么错?
您可以使用message()
检查可变TARGET_ARCHITECTURE
的值,您会发现该值的 cache 是 part 该值。
这是因为您在 set()
命令双引号中使用的不是常见的引号("
),而是语言特定的( “
)。因此,cmake将 set()
命令视为 cache 'd。这是错误消息的原因。