2013-06-26 45 views
1

即時通訊opencv非常新。我心不在焉地下載了opencv 2.4.5使用code :: blocks正確地配置了它。即時通訊使用mingw4.7編譯器。當我編譯下面的代碼,它編譯沒有錯誤。但是,當運行的二進制它說打開cv程序崩潰說,有關「libstdC++ - 6.dll mingw」的錯誤

he procedure entry point __gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll

然後我把戴爾文件從MinGW的/ bin文件夾中binery旁邊。它沒有解決問題。然後我從互聯網上下載.dll文件並將其放在二進制文件旁邊。現在它沒有給出錯誤,但Windows崩潰了應用程序和termanite它。我在網上看到這個.dll文件有很多問題。但是我無法獨自解決這個問題。如果enyone能幫助我在這個問題上,這將是非常大的......感謝ENY幫助...

代碼,

#include "opencv2/highgui/highgui.hpp" 
    #include <iostream> 

    using namespace cv; 
    using namespace std; 

    int main(int argc, const char** argv) 
    { 
    Mat img = imread("MyPic.JPG", CV_LOAD_IMAGE_UNCHANGED); 
    if (img.empty())   
     return -1; 
    } 

namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); 
imshow("MyWindow", img); 

waitKey(0); 

destroyWindow("MyWindow"); 

return 0; 
} 

回答

1

最經常的原因,出現這種情況混合不同的味道時,用mingw gcc編譯器TDM-GCC編譯的庫涉及堆棧展開等異常機制。有兩種常用的方法,DW2和SJLJ以及在兩種方法之間混合預編譯的庫會導致上述錯誤。確保所有編譯器都具有相同的編譯器風格。

+0

是的,這是一個TDM版本的mingw編譯器的問題。然後我從它的網站下載了mingw 4.7.2並使用它以前的錯誤沒有發生。但現在它給出了一個錯誤,「應用程序未能正確初始化(0xc0000005)'這是什麼原因 單擊確定終止應用程序。」 –

+0

ok enyway感謝您的幫助。標記爲答案.... :) –

0

我有同樣的問題,我作爲解決:

在Eclipse的Win7的,mingw4.7.2,我只是添加-lstdC++去雜連接標誌。