web-dev-qa-db-ja.com

OpenCVライブラリでコードをコンパイルするときのリンクエラー

次のコマンドでOpencvをインストールした後、サンプルプログラムをコンパイルしようとしています。

g++ hello-world.cpp -o hello-world -I /usr/local/include/opencv -L /usr/local/lib -lm -lcv -lhighgui -lcvaux

しかし、私は言うエラーが出ます:

/usr/bin/ld: cannot find -lcv  
/usr/bin/ld: cannot find -lhighgui  
/uer/bin/ld: cannot find -lcvaux
collect2: ld returned 1 exit status

これを修正するにはどうすればよいですか?最新の安定バージョンをダウンロードし、cmakeを使用してビルドファイルを作成してopencvをインストールし、コマンドラインからmake installを実行しました。

私が見逃したかもしれないものはありましたか?

15
Kaigi

OpenCVライブラリの実際の場所を指定する別の-L引数を追加する必要があります。

更新しました-

このコマンドをよりよく使用してください:

g++ opencv.cpp -o opencv -L `pkg-config --cflags --libs opencv`

pkg-configコマンドは、ソースコードの正しいインクルードとライブラリを見つけます。
OpenCVプログラミングでの処理を改善するには、IDE like code::blockを使用します。

たぶん、このチュートリアルはcode::blockを使ったOpenCVプログラミングに役立つでしょう:
OpenCV for codeをセットアップする方法:: LinuxおよびWindowsでブロックしますか?

34
anarchy99

最近、OpenCVを使い始めたところ、同様の問題が発生しました。

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect

それがあなたの問題を解決することを願っています。

20
wildCat