首页 > 解决方案 > 无法在动态链接库中找到过程入口点“_ZNSt7__...”。无论如何要解决而不将.dll复制到每个文件夹?

问题描述

我最近开始阅读使用 C++ 第 2 版的原则和实践,我在第 3 章遇到了问题。

尝试运行示例

// Read and Write a first name
#include "std_lib_facilities.h"

int main()
{
    std::cout << "Please enter your first name (followed by 'enter')\n";
    string first_name;
    std::cin >> first_name;
    std::cout << "Hello, " << first_name << "\n";
    return 0;

}

导致错误:

“在动态链接库中找不到过程入口点_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev”

代码编译(使用 G++)很好,但运行生成的 .exe 会引发该错误。经过简短的搜索后,我发现将“libstdc++-6.dll”从 MinGW 复制到文件夹中可以解决问题。但我想知道是否可以设置它,这样我就不必将该 .dll 复制到我正在使用的每个文件夹中。经过一番搜索后,我认为这与我的 PATH 和将 MinGW 的目录放在 Sys32 之前(像这样)有关,但尝试这样做什么也没做。

如果它有帮助,我正在使用这个版本的 std_lib_facilities.h 文件。

标签: c++

解决方案


推荐阅读