gpt4 book ai didi

c++ - "the procedure entry point _ZNSt8_detail15_List_node_base7_M_hookEPS0_ could not be located in the dynamic link library libstdc -6.dll."

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:16:09 25 4
gpt4 key购买 nike

有个小问题。我有 C++ 代码,它链接到一些库。我以前有源代码的(原始)exe,它在第一台机器上运行完美。还有第二台机器,我在那里处理源代码,更改它,等等。在第二台机器上,该源代码的构建工作正常,当我复制 second.exe 并尝试在第一台机器上运行它时萌芽它显示错误信息

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

有一件事,second.exe 被复制到与 original.exe 相同的文件夹中,所以它应该看到 ddl,因为原始 dll 与 original.exe 位于相同的文件夹中,不是吗?它是用 MinGW 编译的,在 NetBeans 和项目属性中工作,添加了库(通过添加库文件),但没有添加 libstdc++-6.dll。 libstdc++-6.dll在original.exe所在文件夹

谢谢

最佳答案

我在 XP 中使用 MingW 时遇到了非常相似的问题。

我使用 mingW 编译了一个 12 klines 的 C++ 项目;它在 MSYS 中运行良好,但在 native cmd shell 中调用时失败,声称入口点libstdc++-6.dll 中缺少 Z_St8_detail15_and_so_on。

相反,下面的简单程序在 MSYS 和 cmd 中运行:

#include <iostream>

using namespace std ;

class Hello {
public:
Hello() { cout << "Hello !" << endl ; }
} ;

Hello hello ;

int main (void) {}

它必须针对 libstdc++ (gcc -o hello hello.cpp -lstdc++) 进行编译,当然,如果省略 -lstdc++,编译将失败。因此,名称修改可能不是唯一的问题。

我在资源管理器中搜索 libstdc++-6.dll,我发现我的系统上有两个:一个是安装在 migw32 中的,另一个是之前由拥有自己版本的程序安装的其目录中的 lib。但是,它修改了 PATH,以便首先找到它的库!

我在当前 shell 中的 PATH 开头插入了 Mingw 所在的路径。像:

set PATH=C:\mingw\bin;D:\msys\1.0\local\bin;%PATH%

现在一切正常!


Martin,我不能写你的评论,所以我编辑我的消息:你即将是对的。此处解释了 Windows 如何查找 DLL:

http://msdn.microsoft.com/en-en/library/7d83bc18%28v=vs.80%29.aspx

干杯

关于c++ - "the procedure entry point _ZNSt8_detail15_List_node_base7_M_hookEPS0_ could not be located in the dynamic link library libstdc -6.dll.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com