我的最终目标是从Go包中成功链接到许多DLL(opengl32.dll glfw.dll和glu32.dll),但trying to link to the go-glfw package gave me "not defined" errors。
所以我决定从%GOROOT%\ misc \ cgo \ life中的简单未经修改的示例中获得一个非常简单的cgo动态/共享库链接工作。但只是调用命令 go build -o life main.go 失败,基本上是相同的链接器错误,即:
go-build374967034/_/C_/Go/misc/cgo/life.a(c-life.o)(.text): _assert: not defined
“未定义”...与我上面尝试链接glfw时的错误完全相同。
这是一个全新的未经过篡改的安装,今天早上新安装的Go 1.0.1,安装在最近的Win7 64位上。什么可能出错?我知道...... Windows。很想听到任何想法......似乎DLL与CGO的连接是一个简单易懂的工作,从我在网上看到的。然而,即使是最简单的例子也不适合我。
答案 0 :(得分:1)
我认为这里讨论过这个特定的错误:http://code.google.com/p/go/issues/detail?id=3261 但我不确定它是否适用于你的情况。最后我从他的内容中提出了一个补丁,但并未真正尝试过,因为我等待1.1版本(希望它们能解决运行时臭名昭着的内存泄漏问题)。)