You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下使用Golang+go-gst运行示例时链接报错求助

问题:Windows 11下使用Go+go-gst运行示例出现MinGW链接错误

在Windows 11系统中,按照go-gst官方说明操作后,运行launch示例时始终出现链接错误,报错信息如下:

C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.__mingw_app_type[.refptr.__mingw_app_type]+0x0): undefined reference to `__mingw_app_type'
C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.__mingw_initltssuo_force[.refptr.__mingw_initltssuo_force]+0x0): undefined reference to `__mingw_initltssuo_force'
C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.__mingw_initltsdyn_force[.refptr.__mingw_initltsdyn_force]+0x0): undefined reference to `__mingw_initltsdyn_force'
C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/ProgramData/mingw64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.__mingw_initltsdrot_force[.refptr.__mingw_initltsdrot_force]+0x0): undefined reference to `__mingw_initltsdrot_force'
collect2.exe: error: ld returned 1 exit status

原因与解决方法

原因

这个链接错误是MinGW GCC版本兼容性问题导致的:GCC 13.x版本的MinGW-w64在与Go的链接器配合时,会出现CRT(C运行时)库符号未定义的问题,Go的链接器无法正确识别新版本MinGW引入的这些符号。

解决步骤

  • 降级MinGW GCC版本:将MinGW的GCC版本降级到12.x系列(比如12.2.0),这是最稳妥的解决方案。可以通过MSYS2包管理器安装指定版本,或者下载对应版本的MinGW-w64压缩包替换现有安装目录。
  • 调整环境变量优先级:确保MinGW的bin目录在系统PATH的最前端,避免系统中其他版本的GCC或编译工具干扰链接过程。
  • 清理Go缓存:运行命令go clean -cache清理Go的编译缓存,然后重新编译程序,避免旧缓存导致的兼容问题。
  • 尝试强制静态链接(可选):如果暂时无法降级MinGW,可以尝试在编译时添加链接参数:go build -ldflags="-linkmode=external -extldflags=-static",强制使用静态CRT库,但这个方法不一定适用于所有场景。

内容的提问来源于stack exchange,提问作者Danijel Kapetanovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 13:32:06