我刚刚开始了一个C ++课程并使用MinGW进行编译(我开始做K& R所以已经设置了C)。每当我编译包含或使用任何库的文件时,它都会给我以下错误:
"程序入口点......(这只是一个长期看起来很难看的东西)无法在动态链接库中找到...(我正在编译的文件的路径) "
在谷歌搜索之后,我尝试在C:\ Windows \ System32中放置libstdc ++ - 6.dll,将C:\ MinGW \ bin作为PATH中的第一优先级,并将libstdc ++ - 6.dll放在同一文件夹中作为我正在编译的.cpp文件。
唯一的解决方案是将其复制到我正在编译的.cpp文件的文件夹中,但我希望将来不要每次都这样做。
提前感谢您的帮助!
答案 0 :(得分:2)
使用 MinGW 构建时,生成的二进制文件将需要 libstdc++-6.dll
(以及其他一些,如 libwinpthread-1.dll
)。它们包含标准 C++ 库,例如 std::string
和朋友。
执行后,您的二进制文件将在特定位置查找这些 DLL。通常错误是关于缺少 DLL,但在您的情况下,这些 DLL 的错误版本似乎在您不知情的情况下安装在您的计算机上。 (例如 32 位与 64 位)
有两种可能的解决方案:
-static-libgcc -static-libstdc++
传递给链接器,