Windows Go环境-to.exe


提示

文章目录


一、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
相关推荐
北冥you鱼11 分钟前
Go 语言空接口(interface{})使用场景与最佳实践
开发语言·windows·golang
xh didida21 分钟前
Linux -- 基础IO
linux·服务器·开发语言·c++
个 人 练 习 生40 分钟前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生
2601_966949651 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
坤坤子吖1 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习
奋斗的阿狸_19861 小时前
ESP32-S3 + ES7210 四通道麦克风录音上传方案
c语言·开发语言·fpga开发
weixin199701080161 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存
ACP广源盛139246256732 小时前
Type‑C 扩展坞方案选型笔记|国产 DP1.4 转 HDMI2.0 桥接芯片 GSV2201S @ACP评估
c语言·开发语言·笔记·硬件架构·硬件工程·国产芯片
niucloud-admin2 小时前
JAVA V6 多商户商城 开发文档——JAVA服务端
java·开发语言
轻舟技术A2 小时前
Pi 的 Rust 实现来了:rpi,不止一个终端 Agent
开发语言·后端·rust