如何在mingw中进行libwinpthread-1.dll的静态链接?

新手上路,请多包涵

我从这里使用 mingw: http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7.2/32-bit/threads-posix/sjlj/x32-4.7.2-release-posix-sjlj-rev2.7z/download

And I’ve sucessfully managed to link libstdc++-6.dll and libgcc_s_sjlj-1.dll by using -static-libgcc -static-libstdc++ parameters, but I cannot find a command for doing the same with libwinpthread-1.dll .

原文由 rsk82 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

您可能应该检查 GCC 的命令行选项文档。

这些没有“-static-something”命令,只有标准库(libgcc 和 libstdc++)可以通过一个命令设置为静态链接。对于其他库,您首先使用“-static”切换到静态链接,然后使用单独的命令(即“-lpthread”)列出要包含的库。

原文由 Tomasz Lis 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您使用来自 MSys2 的工具链(使用 gcc 版本 12 测试),静态使用 winpthread 的唯一方法是标准 -static(强制所有库为静态)或简单地删除/重命名 libwinpthread.dll.a && libpthread.dll。一个小鬼库。 “Bstatic”、“-l:libwinpthread.a”等其他方法将不再起作用(由于依赖地狱,尤其是在 CMake 中)。具有整个存档的那个仍然有效,但它会覆盖程序属性。如果依赖项来自它们,您可能还需要静态链接 libgcc 和 libstdc++。

原文由 GoDaft WithEBK 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题