Windows下使用CMake+MinGW静态编译发布.exe程序

最近使用mingw编译了一份boost静态库,在CMake编译成.exe程序发布后,发现仍旧提示缺少DLL文件。提示缺失的DLL文件大概如下:

libgcc*.dll
libstdc++*.dll
libwinpthread-1.dll

经过简单摸索之后,终于找到了解决方法。

#需要在CMakeLists.txt添加以下内容

#设置静态编译
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")

#链接静态库
#链接boost静态库(project_Name为你的项目名,*分别代表库名、mingw版本号、boost库版本号,如:libboost_system-mgw72-mt-s-1_65_1.a)
target_link_libraries(project_Name libboost_*-mgw*-mt-s-*.a)
#链接gcc-g++静态库
target_link_libraries(project_Name libgcc.a)
target_link_libraries(project_Name libstdc++.a)
#链接网络库(如需要)
target_link_libraries(project_Name ws2_32)
#链接线程库(必须放到最后)
target_link_libraries(project_Name libpthread.a)
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值