MinGW-w64 的 libwinpthread-1.dll 依赖问题
用 MinGW-w64 工具链编译程序默认是动态链接 libgcc 和 libstdc++。这样客户机上必须有这两个 DLL 才能运行目标程序。
可以用 -static-libgcc -static-libstdc++ 来设置成静态链接。
但是 libstdc++ 有一个依赖是 libwinpthread-1.dll,它无法用 -static-* 选项来关掉。
虽然很多人建议用 -static,但是它有副作用。
编过研究,我找到了解决方案:
-static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic
将它加在 g++ 命令行的最末尾即可。注意 -lstdc++ 在 -lpthread 之前。
http://m13253.blogspot.com/2015/01/mingw-w64-libwinpthread-1-dll-issue.html
博客主要围绕MinGW-w64的libwinpthread-1.dll依赖问题展开。使用MinGW-w64工具链编译程序默认动态链接libgcc和libstdc++,客户机需有对应DLL才能运行。虽可用-static-libgcc -static-libstdc++设置静态链接,但libstdc++依赖的libwinpthread-1.dll无法用-static-*选项关掉,最终给出解决办法。
127

被折叠的 条评论
为什么被折叠?



