fix: Windows 交叉编译添加 CGO_ENABLED=0
All checks were successful
Release / build (push) Successful in 6m28s
All checks were successful
Release / build (push) Successful in 6m28s
This commit is contained in:
7
build.sh
7
build.sh
@@ -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"
|
||||
@@ -48,6 +48,9 @@
|
||||
- ✅ 跨平台编译支持 (build.sh)
|
||||
- ✅ CI自动构建Release
|
||||
|
||||
**构建改进**:
|
||||
- ✅ Windows 交叉编译添加 CGO_ENABLED=0
|
||||
|
||||
**构建改进**:
|
||||
- ✅ 扩展 build.sh 支持跨平台编译
|
||||
- ✅ 添加 -h 帮助选项、-o 自定义输出文件名
|
||||
|
||||
19
taolun.md
19
taolun.md
@@ -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)
|
||||
Reference in New Issue
Block a user