V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
www6688w
V2EX  ›  程序员

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

  •  
  •   www6688w · 2019 年 8 月 29 日 · 3737 次点击
    这是一个创建于 2347 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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