MinGW-w64 的 libwinpthread-1.dll 依赖问题

博客主要围绕MinGW-w64的libwinpthread-1.dll依赖问题展开。使用MinGW-w64工具链编译程序默认动态链接libgcc和libstdc++,客户机需有对应DLL才能运行。虽可用-static-libgcc -static-libstdc++设置静态链接,但libstdc++依赖的libwinpthread-1.dll无法用-static-*选项关掉,最终给出解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值