エラー内容:
/opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package) での CMake エラー:
「common」によって提供される、
次のいずれかの名前のパッケージ構成ファイルが見つかりませんでした。
commonConfig.cmake
common-config.cmake
インストール プレフィックス「common」を CMAKE_PREFIX_PATH に追加するか、
「common_DIR」を上記のファイルのいずれかを含むディレクトリに設定します。「common」が
別個の開発パッケージまたは SDK を提供する場合は、それが
インストールされていることを確認してください。
呼び出しスタック (最新の呼び出しが最初):
lidar_location/CMakeLists.txt:37 (find_package)
-- 設定が不完全です。エラーが発生しました。
「/home/wsk/8359_ws/build/CMakeFiles/CMakeOutput.log」も参照してください。
「/home/wsk/8359_ws/build/CMakeFiles/CMakeError.log」も参照してください。
「cmake」の呼び出しに失敗しました
エラーのスクリーンショット
詳細な説明: 共通パッケージは、共通ファイルを格納する自己構築パッケージであり、他の実行可能ファイルはパッケージにアクセスしてパッケージ内のヘッダー ファイルを実行する必要があります。エラーレポートの内容は、このパッケージが見つからないというものです。他の ROS SDK パッケージが見つからない場合は、コマンドを直接使用してダウンロードできます。コマンドは次のとおりであり、この質問で説明されている状況には属しません。
sudo apt-get install ros-melodic-sdk名称
解決策の原理は、ros が各パッケージを順不同で実行するため、他のパッケージを実行するときに共通のパッケージが最初に実行されないため、このタイプのエラーが報告されるということです。解決策は、順番に実行し、最初に共通パッケージを実行し、次に他のパッケージを実行することです。
方法 1: 非常に愚かです
他のパッケージを削除し、共通の自己構築パッケージのみを保持し、それを一度実行して、他のパッケージを復元します。catkin_make を再実行して、解決しました。
方法 2: 根本原因を解決する
他のパッケージの package.xml ファイルに 1 つを追加します
<depend>common</depend>
CMakeLists.txt ファイルに common を追加します。
find_package(catkin 必須コンポーネント
一般
)
上記以降解決しました。