Проблема с выполнением .exe, написанного на C ++ (с использованием компилятора mingw) - PullRequest
1 голос
/ 07 января 2020

Я новичок в программировании и пытаюсь изучать C ++, используя C ++ Primer (5-е изд.). Я написал этот код прямо из книги. Проблема заключается в том, что при попытке выполнить результаты .exe с этим всплывающим окном

Точка входа в процедуру _ZNKSt9basic_ioslcSt11char_traitslcEEcvbEv не может быть расположена в dll

. cpp

#include <iostream>

main ()
{
    int sum = 0, val = 0;

    while (std::cin >> val) 
        sum += val;

    std::cout << "The sum is: " << sum << std::endl;

    return 0;
}

1 Ответ

0 голосов
/ 07 января 2020

Взгляните на каталог, в котором установлен ваш компилятор mingw. В каталоге «bin» вы должны найти несколько файлов «* .dll», таких как «libwinpthread-1.dll», «ligstdc ++ - 6.dll» и т. Д. *

Эти библиотеки необходимы для выполнения Ваше приложение, так как mingw нуждается в платформе magi c (это порт g cc для linux).

Попробуйте скопировать эти DLL в ту же папку, где находится ваш "* .exe" находится.

Если это не помогает: сообщение об ошибке немного сбивает с толку, так как я ожидаю, что он сообщит, что файл dll отсутствует вместо процедуры. В этом случае похоже, что установка вашего компилятора нарушена или, как уже упоминалось, ваша среда сборки настроена неправильно. Какую версию mingw вы используете, откуда вы ее взяли?

...