行の下に書かれている問題は解決しましたが、関連する新しい問題に直面しています。以前とは少し異なりますが、サンプルの OpenCV コードを次のようにコンパイルしてリンクしています。
g++ facedetect.cpp -o facedetection -I /home/harsh/Downloads/OpenCV-2.0.0/include/opencv/ -L/home/harsh/Downloads/OpenCV-2.0.0/lib/ -lcv -lcxcore -lcvaux -lml -lhighgui
これでエラーは発生しませんが、実行可能ファイルを実行すると
./facedetection
私はこのエラーが発生します:
./facedetection: error while loading shared libraries: libcv.so.2.0: cannot open shared object file: No such file or directory
そして、シンボリックリンクを行うときは、次を使用します。
ln -s libcv.so libcv.so.2.0
次に、エラーは次のとおりです。
ln: failed to create symbolic link 'libcv.so.2.0': File exists
これを回避する方法がわかりません。
前もって感謝します..
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
.so ファイルと動的にリンクされ、OpenCV がインストールされていないマシンで実行されるサンプル OpenCV プログラムの Linux 実行可能ファイルを作成しようとしていますが、.so ファイルはその Linux マシンに存在します。
これに関する多くの投稿を検索しましたが、まだ成功していません。
次のようにopencvをコンパイルしました:
cd OpenCV-2.0.0/
cmake -DBUILD_SHARED_LIBS=ON .
make
次に、コンパイルされたすべてのライブラリが OpenCV-2.0.0/lib に作成されました
次に、samples/c ディレクトリで、次のようにしました。
g++ facedetect.cpp -o facedetection -I /home/harsh/Downloads/OpenCV-2.0.0/include/opencv/ -L/home/harsh/Downloads/OpenCV-2.0.0/lib/ -llibcv -llibcxcore -llibcvaux -llibml -llibhighgui
しかし、エラーは次のとおりです。
/usr/bin/ld: cannot find -llibcv
/usr/bin/ld: cannot find -llibcxcore
/usr/bin/ld: cannot find -llibcvaux
/usr/bin/ld: cannot find -llibml
/usr/bin/ld: cannot find -llibhighgui
collect2: ld returned 1 exit status