V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
www6688w
V2EX  ›  程序员

使用 go build 生成可执行文件之后,再其他电脑运行时 提示缺少 .dll 文件

  •  
  •   www6688w · 2019-08-29 15:49:44 +08:00 · 3251 次点击
    这是一个创建于 1912 天前的主题,其中的信息可能已经有所发展或是发生改变。

    程序中使用了 github.com/go-vgo/robotgo ,robotgo 依赖 MinGW-w64。

    emmm,所以我现在应该要怎么做,才能让 Go 生成的 exe 文件不依赖于 MinGW-w64 的 dll 文件呢

    也就是不用在其他电脑上安装 MinGW-w64 就能运行我的 exe 文件

    第 1 条附言  ·  2019-08-29 16:25:45 +08:00
    已经解决了,windows 使用 go build -tags netgo -ldflags '-H=windowsgui -extldflags "-static"' 进行静态编译
    5 条回复    2019-08-29 16:26:15 +08:00
    ttxshang
        1
    ttxshang  
       2019-08-29 15:54:45 +08:00
    搜下 go 交叉编译
    iuoui
        2
    iuoui  
       2019-08-29 16:00:14 +08:00   ❤️ 1
    试试静态编译?
    www6688w
        3
    www6688w  
    OP
       2019-08-29 16:10:08 +08:00
    @ttxshang 交叉编译编译好像只是跨平台和架构进行编译,应该不是我要的结果
    www6688w
        4
    www6688w  
    OP
       2019-08-29 16:24:50 +08:00
    @iuoui 的确是静态编译
    lishunan246
        5
    lishunan246  
       2019-08-29 16:26:15 +08:00 via Android
    用 dependencywalker 把要的 dll 找出来一起打包就行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   936 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.