执行用 C++ 编写的 .exe 的问题(使用 mingw 编译器)

Issue with executing .exe written in C++ (using mingw compiler)

我是编程新手,正在尝试使用 C++ Primer(第 5 版)学习 C++。我已经编写了直接来自本书的代码。问题是在弹出此提示的情况下尝试执行 .exe 结果时

The procedure entry point _ZNKSt9basic_ioslcSt11char_traitslcEEcvbEv could not be located in the 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;
}

查看您的 mingw 编译器的安装目录。 在 "bin" 目录中,您应该找到几个“*.dll”文件,例如 "libwinpthread-1.dll"、"ligstdc++-6.dll" 等等...

这些库是执行您的应用程序所必需的,因为 mingw 需要一些平台包装魔法(它是 linux 的 gcc 端口)。

尝试将这些 dll 复制到您的“*.exe”所在的同一文件夹中。

如果这没有帮助: 错误消息有点令人困惑,因为我希望它报告缺少 dll 文件而不是缺少过程。在这种情况下,您的编译器安装似乎已损坏,或者如前所述,您的构建环境设置不正确。你用的是哪个mingw版本,从哪里弄来的?