ROS2: Erfolgreiche Kompilierung mit colcon build, aber Meldung, dass die gemeinsam genutzte Bibliothek zur Laufzeit nicht gefunden werden kann

Ich habe einen auf ROS2 basierenden Knoten geschrieben, der eine gemeinsam genutzte Bibliothek verknüpfen muss. Beim Kompilieren gibt es kein Problem, aber beim Ausführen wird angezeigt, dass die gemeinsam genutzte Bibliothek nicht gefunden werden kann.

error while loading shared libraries: libseg_ground.so: cannot open shared object file: No such file or directory

Schritt eins:
Fügen Sie nach der CMakeLists.txt der gemeinsam genutzten Bibliothek den folgenden Inhalt hinzu: seg_ground ist der Name der gemeinsam genutzten Bibliothek

install(
  TARGETS seg_ground
  DESTINATION lib/${PROJECT_NAME}
)

Schritt 2:
Fügen Sie den folgenden Inhalt zur CMakeLists.txt des ROS2-Knotenprogramms hinzu. Der ersteinstall() teilt dem Programm den Speicherort mit In der gemeinsam genutzten Bibliothek besteht die zweite Möglichkeitinstall darin, dem Programm den Speicherort der ausführbaren Datei mitzuteilen

install(
  DIRECTORY lib/
  DESTINATION lib
)

install(
  TARGETS ${PROJECT_NAME}
  DESTINATION lib/${PROJECT_NAME}
)

Guess you like

Origin blog.csdn.net/guanjing_dream/article/details/132879958