Build 如果生成路径包含空格,则CMAKE_BINARY_DIR未正确展开
当生成路径包含空间时,如何解决生成项目的问题 变量设置如下:Build 如果生成路径包含空格,则CMAKE_BINARY_DIR未正确展开,build,cmake,Build,Cmake,当生成路径包含空间时,如何解决生成项目的问题 变量设置如下: set(CMAKE_BINARY_DIR C:/Program Files) set(CMAKE\u BINARY\u DIR@CMAKE\u BINARY\u DIR@) 并且被大量专门用于生成构建文件 文件(写入“${CMAKE\u BINARY\u DIR}/CMakeTmp/tcl\u version.tcl”) 它似乎没有转义空格字符(例如“~/myproject/”)。configure_file()(正如您在评论中提到
set(CMAKE_BINARY_DIR C:/Program Files)
set(CMAKE\u BINARY\u DIR@CMAKE\u BINARY\u DIR@)
并且被大量专门用于生成构建文件
文件(写入“${CMAKE\u BINARY\u DIR}/CMakeTmp/tcl\u version.tcl”)
它似乎没有转义空格字符(例如“~/myproject/”)。configure_file()
(正如您在评论中提到的那样)的工作原理有点像C预处理器,因为它是文本替换。因此,如果CMAKE_BINARY_DIR
等于例如C:/Program Files
,则配置的文件将如下所示:
set(CMAKE_BINARY_DIR C:/Program Files)
我相信很明显,将CMAKE\u BINARY\u DIR
设置为2元素列表。在普通的CMake文件中,您需要添加引号;因此,对正在配置的源文件执行相同的操作:
set(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")
这是由
configure_file()
处理的文件吗?请将其添加到问题中,然后。