From deffdb01b6b3b81ed489ca06ae471c847291e57d Mon Sep 17 00:00:00 2001 From: zhenyan121 <3367366583@qq.com> Date: Sun, 7 Dec 2025 20:47:56 +0800 Subject: [PATCH] Add copy mingw cpp lib to output --- CMakeLists.txt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ec0276d..87d9de9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,34 @@ target_link_libraries(${PROJECT_NAME} # ========== Windows: 复制 DLL ========== if (WIN32) +# 查找 MinGW 运行时库 + if(MINGW) + # 查找 libgcc DLL + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libgcc_s_seh-1.dll + OUTPUT_VARIABLE GCC_DLL_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + # 查找 libstdc++ DLL + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libstdc++-6.dll + OUTPUT_VARIABLE STDCPP_DLL_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + # 复制编译器运行时库 + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${GCC_DLL_PATH} + $ + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${STDCPP_DLL_PATH} + $ + COMMENT "Copying MinGW runtime DLLs" + ) + endif() + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $