gpt4 book ai didi

gcc - 如何使用 CMake 安装 GCC 运行时库?

转载 作者:行者123 更新时间:2023-12-03 15:31:18 25 4
gpt4 key购买 nike

我已经编译了一个 C++ 程序,它在我的电脑上完美运行,但是如果我的 friend 试图启动该程序,它会显示 libgcc_s_sw2-1.dll不见了。如何使用 CMake 在程序中包含所有必需的 GCC 运行时库?

最佳答案

由于 rubenvb 正确回答:需要 libgcc 或者您应该添加 CMAKE_EXE_LINKER_FLAGS=-static到您的 CMakeLists.txt。

作为替代方案,您可以尝试在您的 MinGW 安装中找到 libgcc_s_sw2-1.dll 并使用 InstallRequiredSystemLibraries 将它与您的安装“打包”在一起。 .这与 CPack 很好地集成在一起以及。

例如。在我自己的代码中,我有:

if( MINGW )
message( STATUS " Installing system-libraries: MinGW DLLs." )
get_filename_component( Mingw_Path ${CMAKE_CXX_COMPILER} PATH )
set( CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS ${Mingw_Path}/mingwm10.dll ${Mingw_Path}/libgcc_s_dw2-1.dll ${Mingw_Path}/libstdc++-6.dll )
endif( MINGW )
include( InstallRequiredSystemLibraries )

稍后,在准备安装或包的部分中:
# Actually install it when make install is called.
# Note, this works with CPack
if( CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS )
install( PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION bin COMPONENT System )
endif( CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS )

关于gcc - 如何使用 CMake 安装 GCC 运行时库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12995166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com