セルフビルドのリファレンス パッケージ エラー: /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package) での CMake エラー:

エラー内容:

/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 必須コンポーネント

一般

)

上記以降解決しました。

おすすめ

転載: blog.csdn.net/yiweiduguo/article/details/123178728