2012-05-11 71 views
1

我试图建立gosqlite以使我的项目在windows下运行。 不幸的是,cgo在调用gcc时会抛出错误。 我打破了下来,这样的: 系统错误代码15100种手段:在windows上编译gosqlite时出错

$ ../../../../../pkg/tool/windows_386/cgo.exe sqlite.go 
fork/exec C:\cygwin\bin\gcc.exe: error 5 (FormatMessage failed with err=15100) 

我研究了错误代码,并得到这个“资源加载未能找到MUI文件。”此错误代码也可能会显示为“ERROR_MUI_FILE_NOT_FOUND”或价值0x3AFC。 source

我的环境是使用cygwin,go1,sqlite3安装的新鲜win7虚拟环境。

希望寻求帮助,这是我的第三天,我试图解决这个...

与亲切的问候!

+0

我没有一个明确的答案,但考虑的FormatMessage MSDN页面上的第一个注释:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351(v = vs.85).aspx – thwd

+0

你有没有考虑尝试MinGW?我使用MinGW在Win 7上的Go程序中使用sqlite3,它的工作原理是... – Nate

回答

1

你走出CGO的错误消息不是很好:

叉/ EXEC C:\ cygwin的\斌\ 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,可能会完成某些操作。

亚历