登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
go项目使用go build 与 MakeFile 构建项目
go项目使用go build 与 MakeFile 构建项目
[ 复制链接 ]
杓疠?
2025-12-21 18:40:01
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
转载请注明出处:
一、Go Build 简要用法
核心作用
编译Go代码生成可执行文件
适合快速编译和简单项目
常用命令
# 基本编译
go build # 编译当前目录
go build -o app ./cmd/main # 指定输出文件
# 交叉编译
GOOS=linux GOARCH=amd64 go build # Linux版本
GOOS=windows go build # Windows版本
复制代码
应用
二、Makefile 简要用法
核心作用
自动化构建流程,统一团队操作
管理复杂依赖关系和构建步骤
标准化开发、测试、部署流程
基本结构
# 变量定义
APP = myapp
VERSION = 1.0.0
# 目标: 依赖
build: fmt test
go build -o $(APP)
# 伪目标
.PHONY: clean
clean:
rm -f $(APP)
复制代码
关键优势
统一入口:团队使用相同命令
复杂流程简化:一键完成多个步骤
环境一致性:避免环境差异问题
文档作用:Makefile即构建文档
模板
# 最小可用 Makefile
.PHONY: help build test clean
help:
@echo "make build - 编译项目"
@echo "make test - 运行测试"
@echo "make clean - 清理文件"
build:
go build -o bin/app ./cmd/main
test:
go test ./... -v
clean:
rm -rf bin/
复制代码
应用:
EXE_LINUX=monitor
EXE_ARM64=monitor-arm64
EXE_DBG_LINUX=monitor-dbg
EXE_DBG_ARM64=monitor-dbg-arm64
all: monitor monitor-arm64
monitor: commit_id
mkdir -p ../bin
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -tags 'pe' -o ../bin/$(EXE_LINUX) ./cmd/monitor.go
cp ./cmd/monitor_no.conf ../bin/monitor.conf
monitor-arm64: commit_id
mkdir -p ../bin
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -tags 'pe' -o ../bin/$(EXE_ARM64) ./cmd/monitor.go
cp ./cmd/monitor_no.conf ../bin/monitor.conf
monitor-dbg: commit_id
mkdir -p ../bin
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -gcflags "all=-N -l" -tags 'pe' -o ../bin/$(EXE_DBG_LINUX) ./cmd/monitor.go
monitor-dbg-arm64: commit_id
mkdir -p ../bin
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -gcflags "all=-N -l" -tags 'pe' -o ../bin/$(EXE_DBG_ARM64) ./cmd/monitor.go
复制代码
运行编译:
root@xdd-virtual-machine:~/zeng/terra-monitor-23/terra-monitor/src# make all
mkdir -p ../bin
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -tags 'pe' -o ../bin/monitor ./cmd/monitor.go
cp ./cmd/monitor_no.conf ../bin/monitor.conf
mkdir -p ../bin
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -tags 'pe' -o ../bin/monitor-arm64 ./cmd/monitor.go
cp ./cmd/monitor_no.conf ../bin/monitor.conf
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
go
项目
使用
build
MakeFile
相关帖子
如何使用『页脚HTML代码』-实现自推广 -『AI实现的小程序&小游戏』
记录使用Antigravity使用的经历
使用cpp-httplib发布静态文件服务
使用 Windows 的子系统 WSL 安装 Ubuntu 22.04
开源项目分享:Gitee热榜项目 2025年12月第四周 周榜
如何使用 PHP 的 for、while 和 foreach 循环实现极致性能与零 Bug 代码
Python os库 os.walk使用(详细教程、带实践)
为什么大厂一般不推荐使用@Transactional?
独立开发者的一周:把生活和项目都推进一点点
WebSocket 的使用
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
如何使用『页脚HTML代码』-实现自推广 -『AI实现的小程序&小游戏』
1
698
辈霖利
2025-12-27
安全
记录使用Antigravity使用的经历
0
770
邹语彤
2025-12-28
业界
使用cpp-httplib发布静态文件服务
0
686
岑韬哎
2025-12-28
业界
使用 Windows 的子系统 WSL 安装 Ubuntu 22.04
0
15
揭荸
2025-12-28
业界
开源项目分享:Gitee热榜项目 2025年12月第四周 周榜
0
939
雨角
2025-12-29
业界
如何使用 PHP 的 for、while 和 foreach 循环实现极致性能与零 Bug 代码
0
713
蟠鲤
2025-12-29
业界
Python os库 os.walk使用(详细教程、带实践)
0
118
筒濂
2025-12-29
业界
为什么大厂一般不推荐使用@Transactional?
1
315
旁拮猾
2025-12-30
业界
独立开发者的一周:把生活和项目都推进一点点
0
524
榕闹
2025-12-31
业界
WebSocket 的使用
0
218
拍棹
2025-12-31
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
杓疠?
2025-12-21 18:40:01
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994891
kk14977
6845358
4
xiangqian
638210
5
韶又彤
9994
6
宋子
9978
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9947
查看更多
今日好文热榜
191
如何编写figma插件
805
2026年北京陪诊机构排行
834
Ruoyi框架 | 扩展部门数据权限实现
244
2025再见,码农当自强,47岁尚能饭否
165
在 Web 前端实现流式 TTS 播放
186
2025年终总结——在奔跑中前行
137
吴恩达深度学习课程四:计算机视觉 第四周
232
一个关于时间、节奏和前端动画的小实验:新
301
实用程序:解放双手!Python 打造 PDF 手写
218
Perigon.CLI 10.0 重磅发布【AspNetCore开
206
MongoDB 详解、应用场景及案例分析(AI)
391
RL 策略优化 (4.2章节)
65
0基础转行产品经理:墨刀还是Axure?从背景
621
springboot~传统WEB应用开启CSRF
55
BI报表及可视化分析类工具使用经验总结(下
315
ComfyUI Docker 镜像部署指南
267
国内直连GPT、Claude和Gemini?N8N这次更新
481
2026 年 PHP 开发者进阶 快速高效开发学习
535
TryHackMe-SOC-Section 5:网络钓鱼分析
50
【踩坑】Roslyn 5与VS2022——不散的红色浪