CMaKeList.txt では、cmake パスを設定することで、システムにインストールされていない機能パッケージを使用できます。

1、find_package(xx 必須)

find_package(xx REQUIRED) の機能は、関数パッケージを見つけることです。たとえば、特定のプロジェクトをコンパイルするときに opencv を使用する必要がある場合、CMakeList.txt には find_package(OpenCV REQUIRED) が必要です。その原理は単に OpenCVConfig を見つけることです。 .cmake ファイルを作成し、opencv のライブラリ パスとヘッダー ファイル パスを OpenCVConfig.cmake ファイルで指定すると、コンパイル時に対応するヘッダー ファイルとライブラリ ファイルが見つかるようになります。

私たちが介入しない場合、find_package (OpenCV 必須) はデフォルト パスで OpenCVConfig.cmake を探します。その後、システムのデフォルト パスにある opencv バージョンが必要なものでない場合は、私たち自身が cmake の上位バージョンをコンパイルします。 opencv の特定のパスにあるバージョンを指定し、プロジェクトをコンパイルするときに、cmake が自分でコンパイルした上位バージョンの opencv の OpenCVConfig.cmake を見つけられるようにしたいのですが、どうすればよいでしょうか? このとき、set を使用する必要があります。 (CMAKE_PREFIX_PATH xx)。

2、セット(CMAKE_PREFIX_PATH xx)

これは、実際には、指定したディレクトリで xxxxConfig.cmake を検索するように cmake に依頼することを意味します。それが opencv の場合、独自のバージョンの opencv をコンパイルするときに、インストール フォルダーのパスを set(CMAKE_PREFIX_PATH /xxx/xxx/build) に置きます。

おすすめ

転載: blog.csdn.net/weixin_44884561/article/details/129810428