function(auto_copy_mingw_dll target) if(MINGW) # 获取MinGW目录 get_filename_component(MINGW_DIR ${CMAKE_CXX_COMPILER} PATH) # 根据你的环境调整DLL列表 set(MINGW_DLLS "libstdc++-6.dll" # "libgcc_s_dw2-1.dll" "libgcc_s_seh-1.dll" "libwinpthread-1.dll" ) foreach(DLL ${MINGW_DLLS}) # 检查文件是否存在 if(EXISTS "${MINGW_DIR}/${DLL}") add_custom_command(TARGET ${target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${MINGW_DIR}/${DLL}" "$" COMMENT "Copying ${DLL} to output directory" VERBATIM) else() message(WARNING "DLL not found: ${MINGW_DIR}/${DLL}") endif() endforeach() endif() endfunction()