[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今まで上手くビルドできていたのに、別プログラムをビルドしようとしたらむっちゃ怒られた。上手く動かないのである。
cmakeを実行したときの出力とにらめっこしていると、MSVC向けにビルドしているにもかかわらずMinGW用のOpenCVを使おうとしていた。
(私の環境に入っているOpenCVはMSVC用のとMinGW用の2種類がある。)
CmakeLists.txtは全く同じものを利用していたため予想だにしていなかったが、CmakeLists.txt中のfind_package(OpenCV REQUIRED)は状況によって異なる OpenCVConfig.cmake・opencv-config.cmakeを見つけてくるらしい。
(OpenCVConfig.cmakeやopencv-config.cmakeはOpenCVの利用に必要なものを記述したもの...だと思う。)
CmakeLists.txtに次の一文を追加した。
set(OpenCV_DIR "使いたい方のOpenCVに付属したOpenCVConfig.cmakeやopencv-config.cmakeを含むディレクトリ")
つまり、使いたい方のOpenCVに付属したOpenCVConfig.cmakeやopencv-config.cmakeを含むディレクトリをOpenCV_DIR
という変数に設定したのである。
これは一度MinGW用のOpenCVを消去してcmakeコマンドを実行したときに出た以下のメッセージをみて知った方法である。
Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
OpenCVをCMakeからビルドするときにはOpenCV_DIR
変数を設定することでパッケージの探索先を明示的に示そう。