cmake -set_property找不到缓存变量



免责声明:我知道这个问题。但是,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。这是错误消息的原因。

最新更新