在 Windows 下使用 Go 1.7 构建 DLL
尝试在 Windows 上使用 Go 1.7 编译 DLL 时,您可能会遇到错误消息“ -buildmode=windows/amd64 上不支持共享”。这是因为 -buildmode=shared 标志对于 1.10 之前的 Go 版本中的 Windows 系统不可用。
Go 1.10 及更高版本中的解决方案
随着发布Go 1.10 引入了 -buildmode=c-shared 标志,允许在 Windows 上编译 DLL。要构建 DLL,只需使用以下命令:
go build -o helloworld.dll -buildmode=c-shared
标头兼容性
Go 生成的标头主要与 GCC 兼容。但是,如果您的 DLL 仅公开 C 类型数据,则这不会造成重大问题。例如,LoadLibrary 可以在没有 header 的 Visual Studio 中使用。
旧解决方案
如果您需要使用 1.10 之前的 Go 版本构建 DLL,可以参考转到原始帖子中链接的 Go 开发者论坛上的讨论线程以获取替代解决方案。
以上是如何在 Windows 上使用 Go 构建 DLL?的详细内容。更多信息请关注PHP中文网其他相关文章!