The keyword signature for target_link_libraries has already been used with the target "appAppDemo". All uses of target_link_libraries with a target must be either all-keyword or all-plain.
时间: 2023-08-12 13:36:44 浏览: 260
这个错误提示是由于在CMakeLists.txt文件中,target_link_libraries函数的调用方式不一致导致的。同一个目标上,target_link_libraries函数的调用方式必须一致,要么全部使用关键字方式,要么全部使用普通方式。
你可以检查一下该文件中所有调用target_link_libraries函数的地方,看看有没有使用不一致的方式。如果有,可以统一使用一种方式来调用该函数,这样就可以解决这个错误了。
例如,如果你使用了以下两种方式来调用target_link_libraries函数:
```
target_link_libraries(appAppDemo PRIVATE Qt6::Core)
target_link_libraries(appAppDemo PUBLIC Qt6::Widgets)
```
那么你可以将它们统一为一种方式,例如全部使用关键字方式:
```
target_link_libraries(appAppDemo PRIVATE Qt6::Core PUBLIC Qt6::Widgets)
```
或者全部使用普通方式:
```
target_link_libraries(appAppDemo Qt6::Core Qt6::Widgets)
```
相关问题
The plain signature for target_link_libraries has already been used with the target "lvgldemo". All uses of target_link_libraries with a target must be either all-keyword or all-plain.
这个错误是因为在 CMakeLists.txt 文件中 target_link_libraries 函数对于同一个目标 "lvgldemo" 使用了不同的语法形式,一种是使用关键字参数,另一种是使用纯文本参数。你需要确保只使用一种语法形式,要么都使用关键字参数,要么都使用纯文本参数。
例如,如果你要使用关键字参数,可以这样写:
```
target_link_libraries(lvgldemo PRIVATE opengl32 glew32 glfw)
```
如果你要使用纯文本参数,可以这样写:
```
target_link_libraries(lvgldemo opengl32 glew32 glfw)
```
CMake Error at CMakeLists.txt:99 (target_link_libraries): The plain signature for target_link_libraries has already been used with the target "sipManager". All uses of target_link_libraries
这个错误提示表明在 CMakeLists.txt 文件的第 99 行,你尝试使用已经被使用过的 "target_link_libraries" 函数来链接 "sipManager" 目标。这可能是因为你在同一个 CMakeLists.txt 文件中多次调用 "target_link_libraries" 函数来链接同一个目标。你可以通过检查 CMakeLists.txt 文件来找到重复的 "target_link_libraries" 函数,并将它们删除或者合并,使每个目标只链接一次。
阅读全文