Golang 交叉编译跨平台的可执行程序 (Mac、Linux、Windows )
2024-08-25 08:00:32
起因: 在项目中,我们每一次提交都需要添加commit 信息,而且我们的commit 信息,比较繁琐.我决定用golang语言编写一个小工具.
我决定使用语言:golang,使用工具:gox包. gox github https://github.com/mitchellh/gox
创建一个文件,写入以下golang代码,过于简单不做解释.
package main import (
"time"
"fmt"
"io/ioutil"
"os/exec"
) func main() {
b, err := ioutil.ReadFile("git-message.txt")
if err != nil {
fmt.Print(err)
}
str := string(b) fmt.Println(str)
command := exec.Command("git", "commit -m", str) if err := command.Run(); err != nil {
fmt.Print("执行失败")
time.Sleep(time.Duration(3)*time.Second)
}else{
fmt.Print("执行成功")
}
}
安装: go get github.com/mitchellh/gox
查看"该工具支持的命令": gox -h
查看当前你的GO版本可编译成的系统类型(List supported os/arch pairs for your Go version): gox -osarch-list
项目文件夹中执行如下命令:
1.打包window 64位 gox -osarch="windows/amd64" ./
2.打包mac 64位 gox -osarch = "darwin/amd64" ./
3.打包Linux 64位 gox -osarch="linux/amd64" ./
文章结束.如有疑问请留言.
最新文章
- 使用Excel对象模型在Excel单元格中设置不同的字体
- [SLAM] Studying Guidance
- 有关Flash Player的内存管理及泄露检测
- POJ 1195
- IOS 五星评分控件
- OC - 19.GCD
- jvm的内存区域简介
- 深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)
- 1.0--->;刚开始看这里
- 3、java面向对象编程
- 100-days: twenty-two
- 更换Appsecrect应该要注意的问题
- U-Boot Makefile分析(1)配置脚本mkconfig分析
- 【九】虚拟机工具 02 - jstat命令使用
- replicate_wild_do_table和replicate-wild-ignore-table的使用【转】
- Haproxy重刷一次
- Mysql 单表查询 子查询 关联查询
- Java学习技术分享:Java中的原子操作
- luoguP3768 简单的数学题
- go语言之进阶篇单向channel特点
热门文章
- c#开发应避免的几个小滥用
- spring事件监听(eventListener)
- 暴力——cf1202C
- (抓)ubuntu下安装mysql --- 我主要参考的文章
- 虚拟机安装(Cent OS)
- CSS:CSS 组合选择符
- hive元数据格式化 在hive中执行sql语句:SemanticException org.apache.hadoop.hive.ql.metadata.HiveException:
- 访问者模式和 ASM
- c#网络通信框架networkcomms内核解析之三 消息同步调用
- Application.GetOpenFilename 使用说明