によってビルドされていないターゲット「/opt/ros/noetic/lib/libroscpp.so」のリンク ライブラリを指定することはできません

catkin buildエラーが発生した場合:

  Cannot specify link libraries for target "/opt/ros/noetic/lib/libroscpp.so"
  which is not built by this project.

調べてみると、CMakeList.txt漢字がtarget_link_libraries逆に書かれていることが原因だったことが分かりました。

元々カスタマイズしたものは以下にpub_data書かれていました${catkin_LIBRARIES}

## Specify libraries to link a library or executable target against
target_link_libraries(
    ${catkin_LIBRARIES}
    pub_data
)

順序を調整し、上でカスタマイズしたものpub_dataを書き込む${catkin_LIBRARIES}と、コンパイルは正常に成功します。

## Specify libraries to link a library or executable target against
target_link_libraries(
    pub_data
    ${catkin_LIBRARIES}
)

おすすめ

転載: blog.csdn.net/weixin_45910027/article/details/132095239