我想在Go语言上使用外部库,我正在使用这个命令作为例子:
go get github.com/alecthomas/gozmq
从命令行,但它给出这样的错误:github.com/pebbe/zmq4 代码:“gcc”:在%PATH%中找不到可执行文件我尝试安装Cygwin,但它没有修复错误
l7wslrjt1#
Cygwin安装程序默认只安装最小的一组包,核心包。如果你需要额外的一个作为编译器,你需要特别要求它https://cygwin.com/cygwin-ug-net/setup-net.html#setup-packages在您的情况下,因为go不像cygwin程序,所以您不能使用cygwin编译器来扩展您的go。您可以尝试mingw64项目https://mingw-w64.org/
go
mingw64
t1rydlwq2#
首先,我会问你,你是在Windows上开发,还是只想编译Windows代码。如果你在Windows上开发,我强烈建议你安装“Windows Subsystem for Linux”并在那里运行go。这将使你在运行/编译cgo的时候更容易。注意:安装mingw是另一种选择,但那会让你的头发变白。如果你需要为windows编译(windows是你的目标系统),那么我建议使用xgo。它使用docker容器在一个命令中编译到许多不同的操作系统。总结:不用cgo也可以轻松地为windows编译,但是当涉及cgo时,使用unix进行开发,使用xgo进行构建(自动化)。
2条答案
按热度按时间l7wslrjt1#
Cygwin安装程序默认只安装最小的一组包,核心包。如果你需要额外的一个作为编译器,你需要特别要求它
https://cygwin.com/cygwin-ug-net/setup-net.html#setup-packages
在您的情况下,因为
go
不像cygwin程序,所以您不能使用cygwin编译器来扩展您的go
。您可以尝试mingw64
项目https://mingw-w64.org/
t1rydlwq2#
首先,我会问你,你是在Windows上开发,还是只想编译Windows代码。
如果你在Windows上开发,我强烈建议你安装“Windows Subsystem for Linux”并在那里运行go。这将使你在运行/编译cgo的时候更容易。注意:安装mingw是另一种选择,但那会让你的头发变白。
如果你需要为windows编译(windows是你的目标系统),那么我建议使用xgo。它使用docker容器在一个命令中编译到许多不同的操作系统。
总结:不用cgo也可以轻松地为windows编译,但是当涉及cgo时,使用unix进行开发,使用xgo进行构建(自动化)。