2013-06-26 1 views
1

im очень новая для opencv. я повторно загрузил opencv 2.4.5, правильно настроил его с помощью кода :: блоков. im с использованием компилятора mingw4.7. когда я скомпилировал следующий код, он компилируется без ошибок. но при запуске бинарного он говоритopen cv program crash говорит, что ошибка о «libstdC++ - 6.dll mingw»

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

затем я поместил файл в корпорацию Dell рядом с binery из папки MinGW/бен. он не разрешил проблему. затем я загрузил DLL-файл из Интернета и разместил его рядом с двоичным файлом. теперь он не дал ошибку eny, но окна сбой приложения и termanite его. я читаю в Интернете, что этот .dll-файл имеет много проблем. но я не могу решить это только на моем knoladge. если 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)», в чем причина этого Нажмите OK, чтобы прервать приложение. « –

+0

ok enyway за эту помощь. отмечен как ответ .... :) –

0

У меня была такая же проблема, и я решить, как:

В Eclipse-Win7, mingw4.7.2, я просто добавить -lstdC++ для разных флагов компоновщика.