Boost が見つかりませんでした、または Boost が見つかりませんでした (欠落:スレッド date_time iostreams シリアル化) を解決するためのアイデア

元のワークスペースのコードは長期間実行されていないため、再度コンパイルすると次のようにエラーが報告されます。

-- Could NOT find Boost
CMake Error at /usr/local/share/pcl-1.11/PCLConfig.cmake:59 (message):
  common is required but boost was not found
Call Stack (most recent call first):
  /usr/local/share/pcl-1.11/PCLConfig.cmake:354 (pcl_report_not_found)
  /usr/local/share/pcl-1.11/PCLConfig.cmake:536 (find_external_library)
  navxxxxxx/CMakeLists.txt:33 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/xxx/example_ws/build/CMakeFiles/CMakeOutput.log".
Makefile:2070: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

最初のステップは、Boost がインストールされていないことを確認した後、

 dpkg -S /usr/include/boost/version.hpp 

boost がインストールされていることがわかり、バージョンは ; libboost1.65-dev:amd642
番目のステップ、PCL ライブラリが boost にリンクされていませんか? PCL-1.11 をアンインストールして再インストールしましたが、コンパイルでは問題は解決しませんでした。3 番目のステップ、cmake のバージョンが低すぎる可能性があるという投稿を見たので、3.10 から 3.24 にアップグレードしました [おそらくこのステップは必要ありません]; 再度コンパイルすると、新しいエラーが見つかりました : 、boost ライブラリの依存関係エラー レポートを
参照
アイデア:Could NOT find Boost(missing:thread date_time iostreams serialization)4ステップ
/usr/local/share/pcl-1.11/PCLConfig.cmake

set(Boost_NO_BOOST_CMAKE ON)
find_package(Boost 1.55.0 ${QUIET_} COMPONENTS system filesystem date_time iostreams serialization)

set(Boost_DEBUG ON);[おそらくこのステップは必要ありません]
ステップ 5を追加して再コンパイルすると、ターミナルに次のような多くのコードが表示されます。

Boost_LIBRARY_DIR_DEBUG =/opt/ros/melodic/lib

コマンドを順番に使用した後、/opt/ros/melodic/libパス内のブーストをリンクできないことが表示されます。thread date_time iostreams serialization

locate libboost_iostreams.so
locate libboost_serialization.so
locate libboost_date_time.so
locate libboost_thread.so

検索すると、システムに存在しlibboost_iostreams.so,libboost_serialization.so,libboost_date_time.so,libboost_thread.so、パスも存在します/usr/lib/x86_64-linux-gnu。問題は、ダイナミック ライブラリが存在し、ブースト リンクが接続できないことです。
6 番目のステップは、ブーストとダイナミック ライブラリの間にソフト リンクを確立することです。

sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_date_time.a /opt/ros/melodic/lib/libboost_date_time.a
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_iostreams.so /opt/ros/melodic/lib/libboost_iostreams.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_thread.so /opt/ros/melodic/lib/libboost_thread.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_serialization.so /opt/ros/melodic/lib/libboost_serialization.so

繰り返しますがcatkin_make、コンパイルは成功しましたが、多くの警告が表示されました。後で問題があれば、もう一度穴を埋めます。

おすすめ

転載: blog.csdn.net/alien_y/article/details/127670345