CMake Error at precise_land/CMakeLists.txt:214 (target_link_libraries): Cannot specify link libraries for target "traj_pub.cpp" which is not built by this project. -- Configuring incomplete, errors occurred! See also "/home/ros/catkin_ctr/build/CMakeFiles/CMakeOutput.log". See also "/home/ros/catkin_ctr/build/CMakeFiles/CMakeError.log". make: *** [Makefile:3358:cmake_check_build_system] 错误 1 Invoking "make cmake_check_build_system" failed
时间: 2024-03-23 18:40:34 浏览: 109
这个错误提示是说在 CMakeLists.txt 文件中,你为 `traj_pub.cpp` 文件指定了链接库,但是这个文件并不是由该项目构建的,因此无法指定链接库。
要解决这个问题,你需要修改 CMakeLists.txt 文件,将 `target_link_libraries` 命令指定为你要链接的目标程序的名称,而不是源文件的名称。例如,如果你想要为名为 `traj_pub` 的目标程序指定链接库,可以将以下行:
```
target_link_libraries(traj_pub.cpp ${catkin_LIBRARIES})
```
修改为:
```
target_link_libraries(traj_pub ${catkin_LIBRARIES})
```
这样,你就为目标程序 `traj_pub` 指定了链接库,而不是源文件 `traj_pub.cpp`。
修改完成后,重新运行 `catkin_make` 命令重新编译你的项目即可。
相关问题
CMake Error at precise_land/CMakeLists.txt:214 (target_link_libraries): Cannot specify link libraries for target "traj_pub" which is not built by this project. -- Configuring incomplete, errors occurred! See also "/home/ros/catkin_ctr/build/CMakeFiles/CMakeOutput.log". See also "/home/ros/catkin_ctr/build/CMakeFiles/CMakeError.log". make: *** [Makefile:3358:cmake_check_build_system] 错误 1 Invoking "make cmake_check_build_system" failed
这个错误提示是说在 CMakeLists.txt 文件中,你为 `traj_pub` 目标程序指定了链接库,但是该程序并不是由该项目构建的,因此无法指定链接库。
要解决这个问题,你需要在 CMakeLists.txt 文件中添加一个 `add_executable` 命令来创建 `traj_pub` 目标程序。例如,你可以在 CMakeLists.txt 文件中添加以下行:
```
add_executable(traj_pub src/traj_pub.cpp)
```
这将创建一个名为 `traj_pub` 的目标程序,其源文件为 `src/traj_pub.cpp`。
然后,你可以使用 `target_link_libraries` 命令为该目标程序指定链接库。例如,如果你要为 `traj_pub` 目标程序链接 `catkin_LIBRARIES` 库,可以将以下行:
```
target_link_libraries(traj_pub ${catkin_LIBRARIES})
```
添加到 CMakeLists.txt 文件中。
修改完成后,重新运行 `catkin_make` 命令重新编译你的项目即可。
CMake Error at robot_vision/CMakeLists.txt:236 (target_link_libraries): Cannot specify link libraries for target "text" which is not built by this project.
这个错误是由于在 CMakeLists.txt 的第 236 行中,你尝试为名为 "text" 的目标指定链接库,但是该目标并不是由当前项目构建的。可能是你在当前的项目中使用了名为 "text" 的外部库。解决方法是检查 CMakeLists.txt 文件中是否正确引用了外部库,并确保该库已正确安装和可用。如果该库不是必需的,你可以尝试删除与它相关的行。
阅读全文