GO如何将依赖的dll文件编译进exe文件中

天际@浮云 2020-02-20 09:24:57
刚开始学golang,看着大神视频,自己写了一个小工具,生成exe文件后; 在本地电脑运行没有问题,但拿到别的电脑上,就报glib相关dll文件不存在; 求 大神指点,如何使打包的exe在任何WINDOWs系统下可以运行。
...全文
866 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
GHenry 2020-09-02
  • 打赏
  • 举报
回复
go build时添加参数指定静态构建,如: go build -ldflags "-linkmode external -extldflags -static" webapi.go
aawwmate 2020-02-23
  • 打赏
  • 举报
回复
还是不要打包到一个EXE里了,会被杀毒软件误报的,还是做安装包吧。
qybao 2020-02-21
  • 打赏
  • 举报
回复
补充一下,go打包静态资源,可以用go-bindata,lz自己谷歌百度一下吧,或者参考以下 https://c.isme.pub/2019/01/10/go-static/
天际@浮云 2020-02-21
  • 打赏
  • 举报
回复
引用 2 楼 qybao的回复:
补充一下,go打包静态资源,可以用go-bindata,lz自己谷歌百度一下吧,或者参考以下 https://c.isme.pub/2019/01/10/go-static/
谢谢大神。用gotk3做的图形,今天尝试找出相关依赖,正想着怎么打包呢。 明天我试下
天际@浮云 2020-02-21
  • 打赏
  • 举报
回复
谢谢大神。用gotk3做的图形,今天尝试找出相关依赖,正想着怎么打包呢。
qybao 2020-02-21
  • 打赏
  • 举报
回复
dll是动态加载的,所以别人的Windows系统需要事先准备好这个dll 首先弄清楚glib相关的dll是哪些代码使用的,这些代码载入dll的路径是相对路径还是绝对路径? 然后根据上面调查的路径,把dll当作资源打包,主程序启动前判断目标路径是否存在dll,如果不存在则把资源包的dll复制到目标路径。

2,190

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • Freeman Z
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧