2016-07-04 26 views
0

私はOpenCV 2.4.13とMinGW 4.9でWindows 8で作業しています。
私はすべてが正しくインストールされたかどうかを確認するための簡単で小さなopencvプログラムを書いた。され、次のコード:OpenCVプログラムはコンパイルされますが実行されません

#include <opencv2/highgui/highgui.hpp> 

int main() { 
    printf("in main\n"); 
    for (int i = 0; i<10; i++) { 
     printf("here\n"); 
     IplImage * image = cvLoadImage("C:/{...}/test.jpg"); 
     cvReleaseImage(&image); 
    } 
    return 0; 
} 

私は、コマンドプロンプトで次のコマンドを使用してコンパイル:

g++ -o test test.cpp -LC:\{...}\opencv\build\x64\vc11\lib -lopencv_core2413 -lopencv_highgui2413 -IC:\{...}\opencv\build\include 

{...}指定されたフォルダ/ファイルへのパスです。

このコマンドは正しく実行され、コンパイルはエラーなしで成功します。私はそれを実行するときしかし、:

test 

in mainと1 here TEST.EXEは動作を停止しました「と、私はエラーメッセージが出た後に印刷されます。 Windowsは解決策を探しています。私が試してみました

何すべて:OpenCVののインストールの場合

  1. を、(すべてのファイルを抽出します)ダウンロードしたOpenCVの実行可能ファイルを実行し、システム変数OPENCV_DIRを追加およびDLLの場所については、システムのPATHを編集した(これは http://docs.opencv.org/2.4/doc/tutorials/introduction/windows_install/windows_install.html#installation-by-using-the-pre-built-libraries
  2. .exeと同じディレクトリに必要なDLLを追加しようとしました。%OPENCV_DIR%\ binにあります。
  3. vc12ディレクトリからすべてをやってみました。
  4. エラーメッセージが表示された後、デバッグオプションが表示されます。これを押すとJust In Time Debuggerが開き、「未処理のwin32例外がtest.exeで発生しました」と表示されます。私はこれを探検し、ここに指示されたようにレジストリキーを検査しようとしました
    https://support.microsoft.com/en-us/kb/811191
    しかし、それはすでに適切に設定されていました。だから、私がそれを変えることは何もなかった。

何も私のために働いていません。必要な情報があれば教えてください。私は必死にこれに対する解決策を探しています。

+1

'cvReleaseImage(&image);'ではなく、 'cvReleaseImage(image);'ではないと確信していますか? 'image'の価値は?イメージが見つからないか、読み込めなかったので、おそらく 'nullptr'を取得しましたか? – nwp

+0

@nwp画像ポインタが 'NULL'だったかどうかを確認するために' if..else..'をprintfsで追加しようとしましたが、 'cvLoadImage'でクラッシュすると思います。 'cvLoadImage'行の後には何も出力されません。 –

答えて

0

同じ問題が発生する可能性がある人には、.libファイルの代わりにOpenCV dynamic(.dll)ライブラリを使用してプログラムをコンパイルしました。何らかの理由で実行時に正常に動作しました。

関連する問題