首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态exe报告即使使用- MinGW -libgcc也找不到libgcc_s_seh-1.dll

静态exe报告即使使用- MinGW -libgcc也找不到libgcc_s_seh-1.dll
EN

Stack Overflow用户
提问于 2021-07-09 01:21:51
回答 1查看 69关注 0票数 0

我正在使用CMake在Linux for Windows上交叉编译boost::program_options。在我指定的CMake中

代码语言:javascript
复制
set(Boost_LIBRARIES /usr/local/win64/lib/libboost_program_options.dll)
set(Boost_INCLUDE_DIR /usr/local/win64/incldue)
include_directories(${Boost_INCLUDE_DIR})
target_link_libraries(main.exe -static-libstdc++ -static-libgcc ${Boost_LIBRARIES})

当第一行使用静态boost,即libboost_program_options.a时,生成的.exe文件在Windows上运行正常。但是,当我想要使用动态boost (在上面的代码中)时,在Windows上运行exe会报告缺少libgcc_s_seh-1.dll。它为什么要寻找它呢?

EN

回答 1

Stack Overflow用户

发布于 2021-07-09 01:26:26

当第一行使用static boost,即libboost_program_options.a时,生成的.exe文件在Windows上运行正常。但是,当我想要使用动态boost (在上面的代码中)时,在Windows上运行exe会报告缺少libgcc_s_seh-1.dll。它为什么要寻找它呢?

您已经隐式地回答了您自己的问题:libgcc_s_seh-1.dll是一个GCC运行时动态链接库。Dynamic boost不是用-static-libstdc++ -static-libgcc编译的,所以它依赖于libgcc_s_seh-1.dll。你必须用这些标志重新编译

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68306155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档