最近重装了Windows10系统,使用goland编译时一直弹下面错误,google找解决方案毫无线索。
#github.com/mattn/go-sqlite3 cgo: exec /missing-cc: exec: "/missing-cc": file does not exist
好不容易的发现这个问题只在当前最新的Golang v1.15.7版本出现,因为在降级到v1.15.6后,这个错误终于暴露出真面目,如下:
#github.com/mattn/go-sqlite3 exec: "gcc": executable file not found in %PATH%
原来是老问题,gcc组件没有安装,解决方法如下:
官网下载mingw-w64:http://mingw-w64.org/doku.php/download/mingw-builds (这是带向导的MingW-W64-builds安装方式,您也可以另外选择msys2方式安装)。
我的Windows10 64位环境可以选择x86_64,然后一直下一步即可。
注意,由于路径不能有空格,所以C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin 这个默认的安装地址要改成:C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
如不注意此路径空格问题,则会在Golang v1.15.7编译时出现如下报错:
# github.com/mattn/go-sqlite3 cgo: exec C:\Program: exec: "C:\\Program": file does not exist
下一步,经过漫长等待....
修改路径后最终安装到了C:\mingw-w64,去目录看一下:C:\mingw-w64\...\mingw64\bin 是否存在?
将bin目录的完整路径复制并放到环境变量里面:
我这里是 C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin (版本不同路径会有不同)
编辑完环境变量,点击确定。
重启控制台并输入 gcc -v ,如下结果表示gcc组件配置成功
重启Goland
编译通过!!!