C++ minGW 找不到过程入口点
C++ Procedure Entry Point Not Found with MinGW
我刚刚开始了一门C++课程,正在使用MinGW进行编译(我开始做K&are,所以已经为C设置了它)。每当我编译包含或使用任何库的文件时,都会给我以下错误:
"程序入口点...(这只是一个看起来很长的加扰的东西)无法在动态链接库中找到......(我正在编译的文件的路径)">
在谷歌搜索之后,我尝试将libstdc++-6.dll放在C:\Windows\System32中,将C:\MinGW\bin作为PATH的第一优先级,并将libstdc++-6.dll放在与我正在编译的.cpp文件相同的文件夹中。
唯一的解决方案是将其复制到我正在编译的.cpp文件的文件夹中,但我希望避免将来每次都必须这样做。
提前感谢您的帮助!
使用 MinGW 构建时,生成的二进制文件将需要libstdc++-6.dll
(以及其他一些像libwinpthread-1.dll
这样的二进制文件)。它们包含标准C++库,例如std::string
和朋友。
执行时,您的二进制文件将在特定位置查找这些 DLL。通常错误是关于缺少的 DLL,但在您的情况下,这些 DLL 的错误版本似乎在您不知情的情况下安装在您计算机上的某个位置。(例如 32 位与 64 位)
有两种可能的解决方案:
- 找到 MinGW 工具链附带的正确 DLL,并将它们放在本地目录中。(本地目录是可执行文件搜索 DLL 的第一个位置。您必须随构建一起提供它们的副本。
- 通过将
-static-libgcc -static-libstdc++
标准C++库传递到链接器,将标准库静态链接到程序。这将增加二进制文件的大小,并且每个二进制文件将包含相同例程的冗余副本。但是,您将获得一个独立的二进制文件。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 是否删除在对象构造过程中创建的对象
- 如何在鼠标挂钩过程中检测拖动
- 此测试()中发生了什么意外过程?为什么总是覆盖 ch[0 1 2..]?
- C++ minGW 找不到过程入口点
- 在 Win 7 SP 中创建 exe vcxproj:过程入口点<function>无法位于动态链接库中KERNAL32.dll
- 在 dll 中找不到过程入口点GOMP_parallel
- 过程入口点_ZSt24__throw_out_of_range_fmtPKcz不能位于动态链接库 sfml-graphi
- 找不到过程入口点__gxx_personality_v0
- 在dll libmysql.dll中找不到过程入口点mysql_get_option
- 在动态链接库libstdc++-6.dll中找不到过程入口点_gxx_personality_v0.错误
- 过程入口点无法在动态链接库中找到-查找错误的DLL
- 在动态链接库libstdc++-6.dll中无法找到过程入口点_gxx_personality_v0
- 为什么我得到这个简单的c++代码的过程入口点错误
- Oracle 数据库中的 OCCI - 找不到过程 OCIPIsDesc.dll 库中重建的入口点
- 无法在动态链接库中找到过程入口点__gxx_personality_v0
- DirectXTK -过程入口点CreateFile2无法在内核32.dll中找到
- 过程入口点EnumerateLoadedModulesW64不能位于动态链接库dbghelp.dll中
- 在中找不到过程入口点__gxx_personality_sj0.
- 无法找到WinXP的VS2013编译过程入口点