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
相关推荐
神仙别闹5 小时前
基于 C++ 实现(控制台)学生成绩管理系统
开发语言·c++
伞伞悦读6 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
2601_966949658 小时前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
m0_734571769 小时前
深入理解5g <十八>传输块tbsize的计算
开发语言·5g
RAN114267600810 小时前
1.3第一个程序的介绍
开发语言·qt
blue_ice .11 小时前
Verilog DDS 数字信号发生器:DAC 输出模拟波形与 ADC 回采观测
开发语言·单片机·嵌入式硬件·fpga开发
远翔调光芯片^1382879887211 小时前
ECP5702能芯科技PD取电芯片在市场上的优势有哪些?
开发语言·人工智能·单片机·嵌入式硬件·智能家居
泡海椒12 小时前
规则引擎对比:JQuick-Java vs Drools 轻量场景选型对比
java·开发语言
泡泡鱼(敲代码中)12 小时前
Python 容器类型学习笔记:列表、元组、字典、集合
开发语言·笔记·python·pycharm
2501_9336707912 小时前
平台招商运营校招能力模型:数据分析、SQL与增长场景拆解
开发语言