【发布时间】:2018-07-08 09:52:55
【问题描述】:
我刚刚开始了 C++ 课程,并且正在使用 MinGW 进行编译(我开始做 K&R,所以已经为 C 设置了它)。每当我编译包含或使用任何库的文件时,都会出现以下错误:
“过程入口点...(这只是一个看起来很长的东西)无法在动态链接库中找到...(我正在编译的文件的路径)”
在谷歌搜索后,我尝试将 libstdc++-6.dll 放在 C:\Windows\System32 中,将 C:\MinGW\bin 作为 PATH 中的第一优先级,并将 libstdc++-6.dll 放在与.cpp 文件我正在编译。
唯一的解决方案是将其复制到我正在编译的 .cpp 文件的文件夹中,但我想避免以后每次都这样做。
提前感谢您的帮助!
【问题讨论】:
-
将
-static-libgcc -static-libstdc++添加到您的编译器标志中。 -
谢谢!你能解释一下刚刚做了什么吗?
-
这些标志使 GCC 静态链接标准库(分别用于 C 和 C++)而不是动态链接。 IE。
.dlls 中的内容现在位于.exe中(它的大小可能增长了几兆字节)。 -
哦,好吧!再次谢谢你!有什么办法可以避免每次都静态链接吗?
-
否,除非您想将
.dlls 复制到您的.exe所在的文件夹中。我假设你是从命令行编译的,所以我建议你找一个合适的 IDE。那么你就不会关心你的标志列表有多长了。