提示
文章目录
- 一、Go-语言环境基础配置
- [二、Go-C 编译器](#二、Go-C 编译器)
-
- [2.1 C编译安装](#2.1 C编译安装)
- [2.2 CGO与系统依赖简介](#2.2 CGO与系统依赖简介)
- 三、Go-配置编译
一、Go-语言环境基础配置
访问Go官方:https://go.dev,
下载 .msi 安装包(如 go1.23.1.windows-amd64.msi)
双击运行,完成后打开命令提示符(CMD)或 PowerShell
python
go version


设置 GOPROXY 使用国内镜像
python
# 设置 GOPROXY 使用国内镜像
go env -w GOPROXY=https://goproxy.cn,direct
# 或者使用七牛云的代理
go env -w GOPROXY=https://goproxy.io,direct
二、Go-C 编译器
2.1 C编译安装
项目有cgo依赖(部分功能需调用C库),必须安装,
为CGO提供C语言编译能力,必须与Go架构匹配(64位Go配64位GCC)。
Windows: 安装
MinGW-w64 官网 :https://www.mingw-w64.org/
或更集成的 MSYS2官网 :https://www.msys2.org/
MSYS2安装如下:


打开msys2.exe安装
python
# MSYS2 的包管理器 pacman 来安装一个特定版本的 GCC 编译器
# 执行安装
$ pacman -S mingw-w64-ucrt-x86_64-gcc

验证
python
gcc --version

安装项目C库:
在MSYS2 UCRT64终端执行,标准库(如LAME):
python
pacman -S mingw-w64-ucrt-x86_64-lame

2.2 CGO与系统依赖简介
当你的Go项目需要调用成熟的C语言库(如音频处理的LAME、图像处理的OpenCV等)时,就会用到CGO。这是Go与原生系统生态桥梁,也是配置复杂性的主要来源
CGO是Go语言提供的一个工具,它允许在Go源代码中直接编写C代码或调用外部的C语言动态/静态库。命令 cgo 在编译前会处理这些特殊部分,生成可供Go编译器理解的中间文件。

三、Go-配置编译
开 Windows PowerShell,导航到你的项目目录,一次性执行以下命令
python
# 1. 启用CGO
$env:CGO_ENABLED = "1"
# 2. 指定C编译器路径
$env:CC = "E:\msys64\ucrt64\bin\gcc.exe"
# 3. 将编译器路径临时添加到系统PATH,确保找到所有依赖DLL
$env:Path = "E:\msys64\ucrt64\bin;" + $env:Path
# 4 这一步会移除旧依赖,添加新依赖。更新 go.mod 和 go.sum 文件
go mod tidy
# 5. 编译项目
go build -o xiangmu.exe
go mod tidy 是 Go 模块系统的"管家",它确保你的项目依赖声明(go.mod) 与项目代码实际使用情况以及依赖的校验和(go.sum) 三者保持绝对同步。在修改代码或初始拉取项目后,先运行 go mod tidy 是一个必须养成的好习惯.
python
# 方法1:使用 go env 命令(最推荐,查看Go工具链使用的值)
go env CC
go env CGO_ENABLED
# 方法2:查看操作系统的环境变量
echo $env:CC
echo $env:CGO_ENABLED
