转到代码编译链接器错误。我可以手动链接吗?

我正在构建使用CGo的代码,此代码必须被编译为共享或静态库(静态是高度优选的)。 (code for reference)转到代码编译链接器错误。我可以手动链接吗?

它在Linux和Mac上都可以正常工作,但是在Windows上它在链接器阶段失败,或者说所有4种模式(c-shared,shared,c-archive,archive)都不可用或者调用go tool link -shared手动抱怨缺少窗口的具体说明。

我的理解是,我需要建立可用lib.a是编译的一切,我会使用到的目标文件(*的.o),然后把它通过ar才能产生有效的静态库。

现在的问题是我是否可以完全跳过Go的链接器,并基于准备好的.o文件手动创建.a

如果甚至有可能,我该如何去做?

回答:

看起来像windows上的gcc无法自动发现必要的共享库。问题是由GCC造成的,而不是由Go造成的。

虽然编译转到我不得不用自编主舌尖当前版本(1.6.2)不支持共享的Windows/AMD64 /静态库。

在默认位置(C:\ Windows \ SysWOW64)手动为每个共享库(ntdll,winmm等)提供gcc已解决该问题。

以上是 转到代码编译链接器错误。我可以手动链接吗? 的全部内容, 来源链接: utcz.com/qa/267321.html

回到顶部