CMakeLists.txt:23: error: Parse error. Expected "(", got unquoted argument with text "+=".
时间: 2024-09-06 09:06:24 浏览: 65
C++版本使用CMakeLists.txt编译(同目录多个源文件)可执行文件
这个错误信息是CMake在解析`CMakeLists.txt`文件时遇到的语法错误。错误信息指出,在第23行,CMake期望遇到一个左括号`(`,但是却得到了一个未加引号的参数,其内容为`+=`。
这通常发生在你尝试对一个变量进行追加操作时。在CMake中,对变量追加内容,需要使用`set`命令,并且加上`PARENT_SCOPE`或者`CACHE`等选项来明确指出操作的类型。例如,如果你想要给一个变量追加内容,应该这样写:
```cmake
set(VARIABLE "old_value" CACHE STRING "A variable" FORCE)
set(VARIABLE "${VARIABLE} new_value" CACHE STRING "A variable" FORCE)
```
而不是使用`+=`这样的操作。错误的写法可能是这样的:
```cmake
set(VARIABLE "old_value")
set(VARIABLE "+= new_value") # 错误的写法
```
正确的写法应该是:
```cmake
set(VARIABLE "${VARIABLE} new_value")
```
这里`"${VARIABLE} new_value"`会将`VARIABLE`的原有值与`new_value`合并。注意,这里的引号是必须的,因为CMake需要正确解析变量和字符串。
阅读全文