2011-07-17 13 views
2

が最終的にリリースされたので、この最新リリースを自分のシステムにコンパイルしてインストールしたかったのです。 QtとQtCreatorでよく働く私はもちろん、私のQtプロジェクトでそれを使用できるようにしたかったのです。私はいくつかの時間のために、今、いくつかの方法を試してみましたが、常にエラーが出ました:QtCreatorのQtでOpenCV 2.3を使うOpenCV 2.3のリリースとして、

まず試してみてください。WITH_QT付きコンパイルのOpenCV 2.3

まず、私は私がうまく働いた2.2のリリースで行ったようにそれをやってみたかったです私のために。このために私は、このガイドに従っ:http://knowtheabc.wordpress.com/2011/02/25/windows-opencv-and-qt-creator/ソースコード

  • CMakeのを設定し、mingwのメイクファイルを作成することを告げ、私のCでg++.exegcc.exeqmake.exeへのパスを指定したダウンロード

    • :\ Qtのを.. 。WITH_QTをチェックし、リリース用のMakefileを生成しました。
    • が建てられ、これが成功し、私はちょうど私の「.PRO」ファイルへのパスを追加する必要が完了した後mingw32-makemingw32-make install

    を使用して、シェルでそれをインストールして使用するいくつかの素晴らしいソフトウェアを構築することができましたOpenCV(私が2.2リリースを使用した時に戻る)。基本的に最後の部分はここに記述されています:http://knowtheabc.wordpress.com/2011/02/25/opencv-in-qt/

    私は同じリリースを同じリリースで試してみました。それも、私のサンプルプログラムをビルドしますが、すぐに私はそれを実行すると、それは再び閉じ、リターン:-1073741515

    2回目の試行:第1の方法はなかったようMinGWの

    を使用して事前に構築されたOpenCVのsuperpackを使用します私は、ビルド前のバージョンを使用しようとしました。これらはWITH_QTを有効にしていませんが、私はまだ試してみたかったのです。

    私はスーパーパックをダウンロードし、抽出してどこかに入れました。私は、現在のQtが付属してMinGWのコンパイラを使用したコンパイラとして

    INCLUDEPATH+= C:/workspace/opencv/OpenCV2.3/build/include 
    LIBS+= C:/workspace/opencv/OpenCV2.3/build/x64/mingw/bin/*.dll 
    

    :私は、私が前にやったと私の「.PRO」ファイルに含まれたフォルダとDLLへのパスを追加したと同じことをやってみたかったですSDK。しかし、これはクラッシュしながら、建物:

    C:/workspace/opencv/OpenCV2.3/build/x64/mingw/bin/libopencv_calib3d230.dll: file not recognized: File format not recognized 
    collect2: ld returned 1 exit status 
    mingw32-make[1]: *** [release\CoinDetector.exe] Error 1 
    mingw32-make: *** [release] Error 2 
    

    第三に試してみてください。私もQtのSDKに付属しているVC2008コンパイラで同じことをしようとしただけで二等が挙げられるが、VC2008コンパイラ

    を使用して。だから私はコンパイラを選択し、 "。使用するプロ」ファイル:

    LIBS+= C:/workspace/opencv/OpenCV2.3/build/x64/vc9/bin/*.dll 
    

    しかし、これはまた、それがDLLを読み込むことができないというエラーでクラッシュ:

    C:/workspace/opencv/OpenCV2.3/build/x64/vc9/bin/opencv_calib3d230.dll : fatal error LNK1107: Ungültige oder beschädigte Datei: Lesen bei 0x2F0 nicht möglich. 
    

    だからここに私の設定を:

    • 最新のQt SDKがインストールされている(4.7.3)
    • OpenCVの2.3リリース

    誰もがここで間違っているかもしれないもののアイデアを持っていますか?助けてくれてうれしいですね!

  • 答えて

    6

    QT 4.7.3がOpenCV2.3で動作するようになりました。残念ながら私はVC++ 2008 Express EditionとMicrosoftからのCDBデバッガをインストールしなければなりませんでした(どちらもMicrosoftの無料サービスです)。 良い点は、IDE、VS 2008、Qt Creatorの両方でOpencv用に開発できることです。

    これらは私の.PROファイルの設定は以下のとおりです。

    INCLUDEPATH += C:/OpenCV2.3/build/include 
    INCLUDEPATH += C:/OpenCV2.3/build/include/opencv 
    
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_calib3d230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_contrib230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_core230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_features2d230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_flann230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_highgui230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_imgproc230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_objdetect230.lib 
    LIBS += C:/OpenCV2.3/build/x86/vc9/lib/opencv_video230.lib 
    

    は、私は、私はそれを作るためにどのように多くの異なるアプローチがわからない試してみましたが、あなたのプロジェクトの設定で

    をMSVCコンパイラを選択し、覚えておいてくださいMinGWで動作しますが、これまでのところ正しい動作ではありません。 私もWindows 7の64ビットですが、32ビット用に開発していますが、x64ライブラリを使用すると、64ビットのプロジェクトが動作する可能性があります。

    幸運、

    アンドレス

    +0

    私は完全なVisual Studio 2008をインストールしているので、私はMSDNAA経由で入手しています。だからあなたは、事前に構築されたバージョンを使用するだけでなく、DLLの代わりにlibファイルを含める?これは試してみる価値がある... – evident

    +0

    OK私はあなたのものを試してみたが、コンパイル中にエラーを出さなくなった...しかし、今では私がmingw版でやったのと同じエラーが出る。 try " - 戻り値:-1073741515 ...全体の問題がそのエラーを解決するために沸騰しているように見えますが、Visual StudioコンパイラとMinGWでもうまくいくはずです... – evident

    +0

    PATH環境変数を変更しましたか?私がそれが働くまで追加し続けていたので、地雷のように見えます。特に:c:\ OPenCV2.3 \ build \ x86 \ vc9 \ bin; C:\ opencv2.3 \ build \ x86 \ mingw \ bin; c:\ mingw \ bin; c:\ Program Files(x86)\ Microsoft Visual Studion 9.0 \ VC \ bin ... – MisterWalrus

    1

    明らかなように、私も今日限り-1073741515エラーとして得た

    。 問題はリリースフォルダにあるQt dllに関連していることが判明しました....私はまだmsvc2008バージョンではなくmingw32バージョンを使用していました。だから私はmsvc2008 dllファイルを私のリリースフォルダにコピーし、私は最終的に私のQtアプリケーションを実行することができました。

    関連する問題