fix: Windows 交叉编译添加 CGO_ENABLED=0
All checks were successful
Release / build (push) Successful in 6m28s

This commit is contained in:
2026-04-08 03:14:30 +08:00
parent 063b14add7
commit 95338962cb
3 changed files with 27 additions and 2 deletions

View File

@@ -68,6 +68,7 @@ while [[ $# -gt 0 ]]; do
;;
windows/amd64)
GOOS=windows GOARCH=amd64
CGO_ENABLED=0
PLATFORM="windows-amd64"
if [[ "$OUTPUT_NAME" == "yoyo" ]]; then
OUTPUT_NAME="yoo-windows-amd64.exe"
@@ -84,11 +85,13 @@ done
echo "Building yoyo version: $VERSION"
BUILD_CMD="go build -buildvcs=false -ldflags \"-s -w -X github.com/titor/fanyi/internal/logo.version=${VERSION}\" -o \"$OUTPUT_NAME\" ./cmd/yoyo"
if [ -n "$GOOS" ]; then
echo "Target: $PLATFORM"
go build -buildvcs=false -ldflags "-s -w -X github.com/titor/fanyi/internal/logo.version=${VERSION}" -o "$OUTPUT_NAME" ./cmd/yoyo
eval CGO_ENABLED=${CGO_ENABLED:-0} $BUILD_CMD
else
go build -buildvcs=false -ldflags "-s -w -X github.com/titor/fanyi/internal/logo.version=${VERSION}" -o "$OUTPUT_NAME" ./cmd/yoyo
eval CGO_ENABLED=${CGO_ENABLED:-0} $BUILD_CMD
fi
echo "Build complete: ./$OUTPUT_NAME"

View File

@@ -48,6 +48,9 @@
- ✅ 跨平台编译支持 (build.sh)
- ✅ CI自动构建Release
**构建改进**:
- ✅ Windows 交叉编译添加 CGO_ENABLED=0
**构建改进**:
- ✅ 扩展 build.sh 支持跨平台编译
- ✅ 添加 -h 帮助选项、-o 自定义输出文件名

View File

@@ -961,3 +961,22 @@ go build -ldflags "-X github.com/titor/fanyi/internal/logo.version=${VERSION}" -
- `build.sh` - 跨平台编译脚本
**关联版本**: [changelog.md#v1.2.0](changelog.md#v120-2026-04-08)
---
### [2026-04-08] Windows 交叉编译修复
**问题**: 交叉编译的 Windows 版本在 Windows 上提示"不支持16位应用程序"
**原因**:
- Linux CI 交叉编译 Windows 时,缺少 `CGO_ENABLED=0` 参数
- 原生编译go build 在 Windows 上)没有这个问题
**解决方案**:
- 在 build.sh 的 `windows/amd64` 分支添加 `CGO_ENABLED=0`
- 统一使用 `CGO_ENABLED=0` 进行构建
**相关文件**:
- `build.sh` - 添加 CGO_ENABLED=0
**关联版本**: [changelog.md#v1.2.0](changelog.md#v120-2026-04-08)