我已经安装了TDM-GCC-64发行版,并设置为PATH变量。我仍然无法安装cgo发行版Github.com/mattn/go 3。在阅读问题的最相关答案(这)之前,我已经安装了这。然而,安装tdm发行版并没有什么不同。
在尝试运行应用程序时,会出现以下错误:
c:\go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lmingwex
/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lmingw32
collect2: error: ld returned 1 exit status发布于 2021-01-21 13:59:02
看来Go安装仍然使用Cygwin发行版来调用gcc,这很可能是因为PATH环境变量设置。尝试在PATH环境变量前面加上通向Mingw64分发bin\目录的路径(这不会持久,因此您需要在同一个命令行窗口中尝试go run ):
set PATH=C:\Path\To\Mingw64\Installation\bin;%PATH%
go run whatever.go(注意:确保你在那里有\bin。如果您的Mingw64发行版安装在C:\Mingw64中,它将是C:\Mingw64\bin)
如果上面的操作有所帮助,并且您希望永久修复这个问题(并且您不依赖命令行中的Cygwin,因为下面的操作将使用Mingw64命令替换一些命令),请确保在您的PATH环境中,Mingw64变量路径位于Cygwin路径之前。您可以通过以下操作来做到这一点:
rundll32.exe sysdm.cpl,EditEnvironmentVariables并按Enter键使系统变量对话框Path的行,以打开“编辑环境变量”对话框。虽然您可以在Cygwin中安装mingw64包,但它很可能与Go工具不兼容,正式文件建议使用明w 64/MSYS作为编译器套件来获得gcc --我强烈建议使用文档中链接的最新发行版。
https://stackoverflow.com/questions/65823227
复制相似问题