【发布时间】:2017-04-25 23:57:33
【问题描述】:
我正在尝试在 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 install 安装 go-sqlite3 github.com/mattn/go-sqlite3,你不需要 gcc 来构建你的应用程序 没有了
但如果我使用 go install,我会收到相同的错误消息。
$ go version
go version go1.6.2 windows/amd64
【问题讨论】:
-
gcc 用于在 Cygwin 上为 Cygwin 构建。 mingw32 用于为 Windows 构建。可能您想使用从 Cygwin 到 Windows 的交叉编译器
/usr/bin/x86_64-w64-mingw32-gcc.exe吗? -
@matzeri 感谢您的建议,但我不知道如何告诉 go,使用哪个
gcc二进制文件。实际上,为 cygwin 构建对我来说也很好,如果我能让它工作的话。有什么想法吗? -
我没有看到 go 作为 cygwin 包,所以为 cygwin 构建似乎很复杂。查看设置CC或GCC变量是否有效
-
在mingw64上我需要安装
mingw-w64-x86_64-gcc