Cannot specify link libraries for target "openCV_test" which is not built
时间: 2024-04-17 19:23:06 浏览: 19
这个错误通常是由于CMakeLists.txt中的目标名与实际项目中的目标名不匹配导致的。
请确保你的项目中的目标名与CMakeLists.txt文件中的目标名一致。在你的CMakeLists.txt文件中,将`target_link_libraries(open_test ${OpenCV_LIBS})`中的`open_test`替换为你实际项目中的目标名。
例如,如果你的项目中的目标名为`openCV_test`,则将上述代码修改为`target_link_libraries(openCV_test ${OpenCV_LIBS})`。
另外,请确保在调用`target_link_libraries`之前,已经通过`add_executable`或`add_library`命令创建了正确的目标。
如果问题仍然存在,请检查你的项目结构和CMakeLists.txt文件,并确保配置正确。
相关问题
cmake报错:Cannot specify link libraries for target "hello_lib" which is not built by this project.
这个错误通常是由于在 CMakeLists.txt 文件中的 target_link_libraries() 命令中指定了不存在的库,或者是指定了当前项目并未生成的库。
解决方法如下:
1. 检查 target_link_libraries() 命令中指定的库是否存在,并且是否已经正确地添加到项目中。
2. 确保在 CMakeLists.txt 文件中,先添加并构建需要的库,再将其链接到目标。
比如,假设你的项目包含两个库,一个是 lib1,另一个是 lib2,同时你的项目还生成了可执行文件 hello。那么,在 CMakeLists.txt 文件中,应该按照以下顺序添加和构建库:
```
add_library(lib1 ...)
add_library(lib2 ...)
add_executable(hello ...)
```
然后,再将库链接到目标:
```
target_link_libraries(hello lib1 lib2)
```
这样就能够避免 "Cannot specify link libraries for target" 的错误了。
希望这能帮助你解决问题!
Cannot specify link libraries for target "untitled2" which is not built by this project.
出现 "Cannot specify link libraries for target 'untitled2' which is not built by this project" 这个错误,通常是因为在 CMakeLists.txt 文件中使用 `target_link_libraries()` 命令时,指定的目标文件名称不正确或者不在当前项目中。
解决方法如下:
1. 确认你的 CMakeLists.txt 文件中是否存在名为 `untitled2` 的目标文件,如果不存在,需要先使用 `add_executable()` 命令或者 `add_library()` 命令添加该目标文件。
例如:
```
add_executable(untitled2 main.cpp)
```
2. 确认你的 `target_link_libraries()` 命令中指定的目标文件名称是否正确,如果不正确,需要修改为正确的名称。
例如:
```
target_link_libraries(my_program my_library)
```
这个示例中,`my_program` 是正确的目标文件名称,如果名称不正确,就会出现 "Cannot specify link libraries for target..." 这个错误。
3. 确认你的目标文件是否已经被编译,如果还没有被编译,需要先使用 `add_executable()` 或者 `add_library()` 命令添加该目标文件,并在 `target_link_libraries()` 命令中指定链接库。
例如:
```
add_executable(my_program main.cpp)
target_link_libraries(my_program my_library)
```
希望这些解决方法能够帮助你解决问题!