Не удалось найти точку входа в процедуру __gxx_personality_v0 в библиотеке динамической компоновки libstdc++-6.dll.

Я получил эту ошибку при попытке запустить мое приложение opencv. Я использую Windows7, CodeBlocks 12.11, opencv2.4.4 и компилятор MinGW (тот, что входит в состав CodeBlocks). Он компилирует и создает исполняемый файл, но когда я пытаюсь запустить его, происходит сбой с ошибкой точки входа в процедуру. Я добавил C:\programs\CodeBlocks\Mingw\bin в переменную "PATH" и знаю, что есть libstdc++-6.dll.

Я не знаю, что происходит.

Это простой код:

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

using namespace std;
using namespace cv;

int main()
{
cout << "Hello world!" << endl;
namedWindow("window");
Mat image=imread("mustang.jpg",CV_LOAD_IMAGE_COLOR);
imshow("window",image);
waitKey(0);
return 0;
} 

person user2306218    schedule 22.04.2013    source источник
comment
Возможный дубликат точки входа в процедуру __gxx_personality_v0 не удалось находиться   -  person M.M    schedule 25.09.2019


Ответы (2)


libstdc++-6.dll содержит среду runtime. Это реализация фундаментальных процедур, таких как диспетчер кучи или обработка исключений.

Эти основные подпрограммы используются почти в каждой программе. Таким образом, было бы пустой тратой памяти помещать их копию в каждую программу. Именно поэтому они обычно упаковываются в разделяемую библиотеку (DLL). Затем программы могут запрашивать DLL, когда им нужны подпрограммы среды выполнения.

В вашем случае libstdc++-6.dll содержит неправильную версию среды выполнения. Есть две возможности:

  • Найдите libstdc++-6.dll, содержащую правильную версию среды выполнения, и скопируйте ее в каталог вашего исполняемого файла. Вы можете определить, является ли DLL правильной, запустив nm libstdc++-6.dll | grep personality. Если в списке отображается __gxx_personality_v0, вероятно, у вас правильная DLL.
  • Поместите копию среды выполнения в исполняемый файл. Вы можете сделать это, добавив -static-libgcc -static-libstdc++ к параметрам компоновщика.
person ManuelAtWork    schedule 14.10.2015

На этот вопрос, кажется, ответили несколько раз здесь, в stackoverflow. Для чего нужен __gxx_personality_v0? как один из них

person Arnestig    schedule 20.07.2013