接続するにはOpenCV 2.4.11が必要なアプリケーションがあるので、私のmake
ファイルで次のリンカフラグパターンを使用する必要があります。
-l:libopencv_core.so.2.4.11
この仮定はどれほど頑丈ですか?
私の特定の問題は、基本的にv2.4.7を搭載したマイコンピュータUbuntu 14.04にあるため、単に使用すると-lopencv_core
誤ったバージョンが得られます。cv::fisheye
2.4.11以降を使用していますが、CMakeにfind_package(OpenCV)
バージョン指定機能がありません。
答え1
これは特定のパッケージ構成に依存します(非常に脆弱です)。前の項目と一致しない〜の後ライブラリのバージョン。
アプリケーションが特定の機能(リンクの成功/失敗を介してすぐに確認できない)が必要な場合、一般的なアプローチは、ライブラリのリリースバージョン(すべてのライブラリにバージョンがあるわけではありませんが、ほとんど)を確認するいくつかの初期化コードを書くことです。 。関数またはグローバル変数)。
たとえば、OpenCV(ベースOpenCVのバージョンを確認する方法)には次の機能があります。
printf("OpenCV: %s", cv::getBuildInformation().c_str());
追加資料:OpenCV 2.4.10 ドキュメント~のためビルド情報のインポート:
戻り値は、バージョン管理システムのリビジョン、コンパイラのバージョン、コンパイラフラグ、アクティブなモジュール、サードパーティのライブラリなどを含む生のcmake出力です。出力形式は、ターゲットアーキテクチャによって異なります。