You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MinGW64编译Makefile时遇CGO_CFLAGS未识别错误求助

解决MinGW64编译Makefile时CGO_CFLAGS未识别的问题

问题原因

Windows CMD/PowerShell不支持类Unix系统中VAR=value command这种前置环境变量的语法,执行Makefile命令时会把CGO_CFLAGS当成独立命令解析,导致报错。

解决方案

方式一:修改Makefile的Windows目标规则

将原规则里的环境变量前置写法,替换为Windows的set命令串联形式。修改后的规则如下:

windows:
	set CGO_CFLAGS="-I/include" && set CGO_LDFLAGS="-L/lib/Windows -Wl,--enable-stdcall-fixup,-rpath=/lib/Windows -lHCNetSDK" && set GOOS=windows && set CC=x86_64-w64-mingw32-gcc && set CXX=x86_64-w64-mingw32-g++ && go build -ldflags "-s -w" -o build/Windows/magicard-recover.exe src/magicard-recover.go

保存修改后,重新在CMD中执行mingw32-make windows即可。

方式二:使用MinGW的Bash终端执行命令

打开MinGW64自带的Bash终端(开始菜单中通常命名为“MinGW64 Terminal”),进入项目目录后执行:

mingw32-make windows

Bash支持类Unix的环境变量前置语法,可正常解析Makefile中的命令。

内容的提问来源于stack exchange,提问作者user180053

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:25:33