エラーによって引き起こされる矛盾のためにOpenCVのバージョン


注意:元は容易ではない、再現し、支援のためのソースと著者、感謝を示すために必ずしてください!

OpenCVのバージョンの結果は誤差を開始します

今日は非常に興味深いエラーに会いました。

第12章「視覚的SLAM 14のストレス」の手順をコンパイルするとき、それは、ある方法は、コンパイラがエラー「未定義のリファレンス」を報告しました。プログラムが使用するDBoW3ライブラリを、およびライブラリが依存しているOpenCVの。DBoW3このライブラリをコンパイルした後、スタティックリンクライブラリを生成しますし、中に設置し/usr/local/lib、次のパス。

未定義の参照エラーが私を作った私は、これが問題リンクライブラリです実現します。いくつかの苦渋の後、理由はこれで見つかりました。私の仮想マシンは、最新のインストールOpenCV 4.1.1バージョンを、だけでなく、インストールされROSますが、ROSそこに来OpenCV 3.3.1リリースが。コンパイル時DBoW3の時間ライブラリ、私はどのような理由で、知らないcmakeと検索3.3.1バージョンOpenCVなので、DBoW3リンクは、リンクライブラリで3.3.1のバージョンOpenCV動的ライブラリ。しかし、引用された手順の第12章では、ある4.1.1バージョンのOpenCVヘッダファイルなので、リンクに行くDBoW3際の基準の自然な誇張未定義エラーの静的ライブラリ。

その後、修正使用して、ファイルを再コンパイルしてインストールし、その依存関係としてライブラリを、問題が解決されます!DBoW3CMakeLists.txtOpenCV 4.1.1DBoW3

ところで、いくつかのより長いったらしい、私がチェックした変数の内容を、それが道を指し示すことがわかった、これら2つのパスが何もありませんしながら、文書、逆に、OpenCVのインストールを提供し、ファイルのファイルをパスの下に。だから、あなただけの必要なライブラリで指定されたファイル前述の値のパスを。このように、OpenCVの4.1.1バージョンを確認することが可能です。cmakeCMAKE_MODULE_PATH/usr/local/lib/cmake/usr/lib/cmakeFindOpenCV.cmakeOpenCVConfig.cmake/usr/local/lib/cmake/opencv4/DBoW3CMakeLists.txtOpenCV_DIRcmake

おすすめ

転載: www.cnblogs.com/laizhenghong2012/p/11311354.html