1

私の環境についての簡単な説明: DevCpp 4.9.9.2 with OpenCV 2.3.1 on Windows Vista Home Premium SP1 32-bit

私のプロジェクトについて - 私のプロジェクトの .dev (FirstCVproj.dev) ファイルは c:...\Desktop\proj\openCV\ にあり、「facedetect.cpp」をコンパイルしようとしているプログラムは c:\opencv\samples にあります。 \c

DevCpp の tools->compilers での OpenCV コンパイラの構成は次のとおりです。

コンパイラ コマンド

-L"C:\opencv\build\x86\mingw\lib" -llibopencv_core231 -llibopencv_imgproc231 -llibopencv_calib3d231 -llibopencv_video231 -llibopencv_features2d231 -llibopencv_ml231 -llibopencv_highgui231 -llibopencv_objdetect231 -llibopencv_contrib231 -llibopencv_legacy231 -llibopencv_flann231

リンカー コマンド

-llibopencv_core231 -llibopencv_imgproc231 -llibopencv_calib3d231 -llibopencv_video231 -llibopencv_features2d231 -llibopencv_ml231 -llibopencv_highgui231 -llibopencv_objdetect231 -llibopencv_contrib231 -llibopencv_legacy231 -llibopencv_flann231

ライブラリ ディレクトリ: opencv\build\x86\mingw\lib

バイナリディレクトリ: opencv\build\x86\mingw\bin

インクルード ディレクトリ: opencv フォルダ内のすべてのインクルード フォルダ (\build およびメイン フォルダの下)

したがって、ここに投稿する前に、ここに記載されている問題をその順序で抱えていました。

libgcc_s_dw2_1.dll が見つかりません。アプリケーションを再インストールしてみてください

プログラムが libgcc_s_dw2-1.dll を見つけられない

libstdc++-6.dll が見つかりません。アプリケーションを再インストールしてみてください libstdc++-6.dll が見つかりません

リンカーのコマンド ライン オプション ボックスで -static または -static-libgcc または -static-libstdc++ を使用してもうまくいかなかったので、最初の dll ファイルを、システム内の他のディレクトリからプロジェクト ディレクトリにコピーしました。 C:\DevCpp の mingw32 フォルダー内) で 2 番目のものをネットからダウンロードすると、私のプロジェクトは「FirsCVProj が動作を停止しました。サポートについてはアプリケーション ベンダーに連絡してください」または「.dll が見つかりませんでした」などの実行時エラーが発生しなくなりました。

しかし、実行時に、プロジェクトでコンパイルしていたプログラムのコマンド出力ウィンドウが表示されたため、さらに悪化しましたが、それはほんの一瞬だけ表示されました!

私は全体を数回再構築しましたが、アインシュタインの引用「同じことを繰り返して別の出力を期待するのは狂気です」を思い出してやめました..それがあなたたちの出番です.ここに私が助けることができないコンパイルログがありますなぜファイルがリンクされないのか疑問に思っています。

Compiler: OpenCV
Building Makefile: "C:\Users\ronnieaka\Desktop\PROJ\openCV\Makefile.win"
Executing  make clean
rm -f ../../../../../opencv/samples/c/facedetect.o  FirstCVproj.exe
g++.exe -c ../../../../../opencv/samples/c/facedetect.cpp -o ../../../../../opencv/samples/c/facedetect.o -I"lib/gcc/mingw32/3.4.2/include"  -I"include/c++/3.4.2/backward"  -I"include/c++/3.4.2/mingw32"  -I"include/c++/3.4.2"  -I"include"  -I"C:/opencv/include"  -I"C:/opencv/include/opencv"  -I"C:/opencv/include/opencv2"  -I"C:/opencv/build/include"  -I"C:/opencv/build/include/opencv"  -I"C:/opencv/build/include/opencv2"    -L"C:\opencv\build\x86\mingw\lib" -llibopencv_core231 -llibopencv_imgproc231 -llibopencv_calib3d231 -llibopencv_video231 -llibopencv_features2d231 -llibopencv_ml231 -llibopencv_highgui231 -llibopencv_objdetect231 -llibopencv_contrib231 -llibopencv_legacy231 -llibopencv_flann231
g++.exe: -llibopencv_core231: linker input file unused because linking not done
g++.exe: -llibopencv_imgproc231: linker input file unused because linking not done
g++.exe: -llibopencv_calib3d231: linker input file unused because linking not done
g++.exe: -llibopencv_video231: linker input file unused because linking not done
g++.exe: -llibopencv_features2d231: linker input file unused because linking not done
g++.exe: -llibopencv_ml231: linker input file unused because linking not done
g++.exe: -llibopencv_highgui231: linker input file unused because linking not done
g++.exe: -llibopencv_objdetect231: linker input file unused because linking not done
g++.exe: -llibopencv_contrib231: linker input file unused because linking not done
g++.exe: -llibopencv_legacy231: linker input file unused because linking not done
g++.exe: -llibopencv_flann231: linker input file unused because linking not done
g++.exe ../../../../../opencv/samples/c/facedetect.o  -o "FirstCVproj.exe" -L"lib" -L"C:/opencv/build/x86/mingw/lib" -llibopencv_core231 -llibopencv_imgproc231 -llibopencv_calib3d231 -llibopencv_video231 -llibopencv_features2d231 -llibopencv_ml231 -llibopencv_highgui231 -llibopencv_objdetect231 -llibopencv_contrib231 -llibopencv_legacy231 -llibopencv_flann231  
Execution terminated
Compilation successful

編集:

私もopencv\samples\c\mushroom.cppを試してみましたが、プログラムの詳細、作成者などを出力するウィンドウが表示されましたが、「FirstCVprojは動作を停止しました」というウィンドウメッセージが表示されました

4

1 に答える 1

1

このパスをライブラリパスとして追加していることをコマンドラインで確認できます。

-L"C:\opencv\build\x86\mingw\lib" 

これらのファイルがすべてそこにあることを確認して、これが正しいディレクトリであることを確認する必要があります。

libopencv_core231 libopencv_imgproc231 libopencv_calib3d231 libopencv_video231
libopencv_features2d231 libopencv_ml231 libopencv_highgui231 libopencv_objdetect231 
libopencv_contrib231 libopencv_legacy231 libopencv_flann231

Dev-C ++をインストールしておらず、お勧めしません。リリースされた最後の公式バージョンは、2005年2月22日までさかのぼります。

Colin Laplaceは、現実の問題で忙しく、Dev-C++の開発を続ける時間がなかったと述べました。

別のコンパイラに移行することを強くお勧めします。VisualStudioExpress (無料)を検討している場合は、このチュートリアルに従ってOpenCVを構成できます

編集

追加する必要のあるライブラリディレクトリは、.aファイルを含むディレクトリであり、DLLを含むディレクトリとは異なる場合があります。DLLは、アプリケーションがビルド(リンケージ)プロセスにあるときではなく、アプリケーションが実行されるときに使用されることを忘れないでください。

編集

ライブラリファイルをとして含めないでください。として含めて-llibopencv_core231ください-lopencv_core231

于 2012-01-10T11:35:54.950 に答える