如何解决MinGW exe 报告即使使用 -static-libgcc
我正在使用 CMake 在 Linux for Windows 上交叉编译 boost::program_options。在 CMake 中我指定了
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 上运行正常。但是,当我想使用动态增强(在上面的代码中)时,在 Windows 上运行 exe 报告缺少 libgcc_s_seh-1.dll。它为什么要找它?
解决方法
当第一行使用静态 boost,即 libboost_program_options.a 时,生成的 .exe 文件在 Windows 上运行正常。但是,当我想使用动态增强(在上面的代码中)时,在 Windows 上运行 exe 报告缺少 libgcc_s_seh-1.dll。它为什么要找它?
您已经在此处隐含地回答了您自己的问题:services = ['Service1','Service2']
if(branch =='master'){. // create any logic you need acodring to the brach value
services = ['Service3','Service4']
}
options = services.collect{"<option value='${it}'>${it}</option>"}.join('\n')
return "<select name='value' ${deployment.equals('Install') ? 'multiple' : ''}>${options}</select>"
是 GCC 运行时 DLL。动态提升不是用 libgcc_s_seh-1.dll
编译的,所以它取决于 -static-libstdc++ -static-libgcc
。 您必须使用这些标志重新编译动态提升。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。