我尝试构建 gosqlite 以使我的项目在 Windows 下运行。 不幸的是,cgo 在调用 gcc 时抛出错误。 我将其分解为:
$ ../../../../../pkg/tool/windows_386/cgo.exe sqlite.go
fork/exec C:\cygwin\bin\gcc.exe: error 5 (FormatMessage failed with err=15100)
我研究了错误代码并得到了这个: 系统错误代码 15100 表示“资源加载器找不到 MUI 文件”。此错误代码也可能显示为“ERROR_MUI_FILE_NOT_FOUND”或值 0x3AFC。 source
我的环境是全新安装的 win7 virtualbox,带有 cygwin、go1、sqlite3。
我希望得到帮助,这是我的第三天,我正在努力解决这个问题......
谨致问候!
最佳答案
你从cgo得到的错误信息不是很好:
fork/exec C:\cygwin\bin\gcc.exe: 错误 5 ...
错误 5 是 ERROR_ACCESS_DENIED。我怀疑,cgo 尝试运行 gcc,但 CreateProcess 失败并返回 ERROR_ACCESS_DENIED。
您应该已经收到正确的错误消息,但 Go 无法将“错误 5”转换为消息字符串。它正在寻找“英文”消息:
http://code.google.com/p/go/source/browse/src/pkg/syscall/syscall_windows.go#82
但是,我怀疑你的电脑没有这些。如果是这种情况,那么 Go 应该回退到“本地”消息。
如果您在此处创建有关错误消息的问题 http://code.google.com/p/go/issues/list ,也许会完成一些事情。
亚历克斯
关于sqlite - 在 Windows 上编译 gosqlite 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10549433/