我试图在Windows上使用cgo库,即github.com/mattn/go-sqlite3
我使用Cygwin64,并安装了所有的“开发”软件包,所以gcc是可用的。
但是运行go get github.com/mattn/go-sqlite3会导致:
/usr/lib/gcc/x86_64-pc-cygwin/5.3.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lmingwex
/usr/lib/gcc/x86_64-pc-cygwin/5.3.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lmingw32如果我在Cygwin安装程序中搜索"mingwex“和"mingw32”,我就得不到结果。我是在寻找错误的名称,还是在64位系统中找不到?
还是有更好的方法在Windows上使用库?
请注意,自述文件指出
但是,如果您安装go-sqlite3 3和go install github.com/mattn/go-sqlite3 3,则不再需要gcc来构建应用程序。
但是如果我使用go install,我会得到同样的错误消息。
$ go version
go version go1.6.2 windows/amd64发布于 2016-05-28 16:51:58
最终对我(而不是Cygwin)起作用的是从http://tdm-gcc.tdragon.net/download下载TDM MinGW-w64并设置路径,以便使用来自C:\TDM-GCC-64\bin的gcc。
发布于 2017-04-25 15:57:33
您还可以从Cygwin安装包mingw64-i686-gcc-core。
二进制文件将是/usr/bin/i686-w64-mingw32-gcc.exe,因此您可能需要将其复制为/usr/bin/gcc.exe。
发布于 2016-12-14 22:00:26
我也遇到过同样的问题。在我看来,cygwin与cgo并不完全兼容。相反,我使用了https://mingw-w64.org。
来自cgo文档https://github.com/golang/go/wiki/cgo
为了在Windows上使用cgo,您还需要首先安装gcc编译器(例如,mingw-w64)和gcc.exe (等等)。在使用cgo编译之前,在PATH环境变量中可以工作。
https://stackoverflow.com/questions/37497354
复制相似问题