用Go 1.7构建一个dll [英] Building a dll with Go 1.7

查看:213
本文介绍了用Go 1.7构建一个dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



有没有办法在Windows下构建一个针对Go v1.7的dll?

我试过了一个经典的

  go build -buildmode = shared main.go 

但获得


-buildmode = shared不支持在windows / amd64上

更新
好​​的,我已经得到了我的回答。对于那些感兴趣的人:
https://groups.google .com / forum /#!topic / golang-dev / ckFZAZbnjzU

解决方案

  go build -buildmode = c-archive github.com/user/ExportHello 

==== >将生成 ExportHello.a ExportHello.h



ExportHello.a 中的内建函数并在 Hello2.c中重新导出

  gcc -shared -pthread -o Hello2.dll Hello2.c ExportHello.a -lWinMM -lntdll -lWS2_32 

====>会产生 Hello2.dll


Is there a way to build a dll against Go v1.7 under Windows ?

I tried a classic

go build -buildmode=shared main.go

but get

-buildmode=shared not supported on windows/amd64

update Ok, I've got my answer. For those who are interested : https://groups.google.com/forum/#!topic/golang-dev/ckFZAZbnjzU

解决方案

go build -buildmode=c-archive github.com/user/ExportHello

====> will build ExportHello.a, ExportHello.h

Take the functions built in ExportHello.a and re-export in Hello2.c

gcc -shared -pthread -o Hello2.dll Hello2.c ExportHello.a -lWinMM -lntdll -lWS2_32

====> will generate Hello2.dll

这篇关于用Go 1.7构建一个dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆