gcc - 在 Cygwin64 : "ld: cannot find -lmingw32" 上编译 cgo lib

标签 gcc go sqlite cygwin cgo

我正在尝试在 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 上使用该库?


请注意,自述文件指出

However, if you install go-sqlite3 with go install github.com/mattn/go-sqlite3, you don't need gcc to build your app anymore

但如果我使用 go install,我会收到相同的错误消息。

$ go version
go version go1.6.2 windows/amd64

最佳答案

最终对我有用(而不是 Cygwin)是从 http://tdm-gcc.tdragon.net/download 下载 TDM MinGW-w64并设置 PATH 以便使用来自 C:\TDM-GCC-64\bin 的 gcc。

关于gcc - 在 Cygwin64 : "ld: cannot find -lmingw32" 上编译 cgo lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37497354/

相关文章:

http - 圆括号在此表达式中表示什么? (&net.Dialer {超时:5 * time.Second})。DialContext

github - Golang,从 Github 导入包要求我记住 Github URL?

python - 如何将在不同进程中完成的 SQLite 数据库更改通知进程?

python - 安装不带 gcc 的 psutil

c - 使用 std=c99 强制 gcc 中的内联函数

c++ - gcc 是否优化递归函数?怎么做?

通过 gcc 编译并使用 -ltr 会导致错误,如何修复?

http - Go 中的 request.param(...) 在哪里

sql - 哪种是使用 SQLite DB 的最佳方式?

winforms - 如何查询 "string ends with ' 字符串'"SQLite