打包失败
- 发布:2026-04-16 11:21
- 更新:2026-04-16 11:21
- 阅读:10
【报Bug】5.07离线打包xcode26 libmp3lame.a报错64-bit mach-o member 'tabinit.o' not 8-byte aligned
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 26.4 (25E246)
HBuilderX类型: 正式
HBuilderX版本号: 5.07
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: iphone17 pro max
页面类型: vue
vue版本: vue2
打包方式: 离线
项目创建方式: HBuilderX
操作步骤:
预期结果:
打包失败
打包失败
实际结果:
打包失败
打包失败
bug描述:
10:06:36 [10:06:36]: [35m[33m▸[0m [39;1mCopying[0m Localizable.strings[0m
10:06:36 [10:06:36]: [35m[33m▸[0m [39;1mCopying[0m InfoPlist.strings[0m
10:06:36 [10:06:36]: [35m[33m▸[0m [39;1mCopying[0m Localizable.strings[0m
10:06:36 [10:06:36]: [35m[33m▸[0m [39;1mCopying[0m InfoPlist.strings[0m
10:06:36 [10:06:36]: [35m[33m▸[0m [39;1mCompiling[0m LaunchScreenAD.storyboard[0m
10:06:40 [10:06:40]: [35m[33m▸[0m [39;1mCompiling[0m LaunchScreen.storyboard[0m
10:06:40 [10:06:40]: [35m[33m▸[0m [39;1mPrecompiling[0m /Users/kdwl/.jenkins/workspace/有为洗车/build_ios/HBuilder-Hello/HBuilder-Hello/HBuilder-Hello-Prefix.pch[0m
10:06:40 [10:06:40]: [35m[33m▸[0m [39;1mCompiling[0m main.m[0m
10:06:40 [10:06:40]: [35m[33m▸[0m [39;1mCompiling[0m ViewController.m[0m
10:06:40 [10:06:40]: [35m[33m▸[0m [39;1mLinking[0m HBuilder[0m
10:06:40 [10:06:40]: ▸ [35m[31m❌ ld: 64-bit mach-o member 'tabinit.o' not 8-byte aligned in '/Users/kdwl/code/uni_lx_sdk/5.07/ios/SDK/SDK/Libs/libmp3lame.a'[0m
10:06:40 [10:06:40]: ▸ [35m ARCHIVE FAILED [0m
10:06:40 [10:06:40]: ▸ [35mThe following build commands failed:[0m
10:06:40 [10:06:40]: ▸ [35m Ld /Users/kdwl/Library/Developer/Xcode/DerivedData/HBuilder-Hello-eluocfgqxtnluoejfscrzoywxkbv/Build/Intermediates.noindex/ArchiveIntermediates/HBuilder/InstallationBuildProductsLocation/Applications/HBuilder.app/HBuilder normal (in target 'HBuilder' from project 'HBuilder-Hello')[0m
10:06:40 [10:06:40]: ▸ [35m Archiving workspace HBuilder-Hello with scheme HBuilder[0m
10:06:40 [10:06:40]: ▸ [35m(2 failures)[0m
10:06:41 [10:06:41]: [31mExit status: 65[0m
5.07离线打包xcode26报错64-bit mach-o member 'tabinit.o' not 8-byte aligned in '/Users/kdwl/code/uni_lx_sdk/5.07/ios/SDK/SDK/Libs/libmp3lame.a
我得手动执行一个脚本去转换才可以打包,很不方便,还有别的方法吗,以下是我的脚本
!/bin/bash
修复静态库 .o 文件 8 字节对齐问题
适用于 Xcode 26 / 新版 ld 要求
set -e
获取当前脚本所在目录
BASE_DIR="$(cd "$(dirname "$0")" && pwd)"
SDK 库目录(同级目录下的 SDK/SDK/Libs)
LIBS_DIR="$BASE_DIR/SDK/SDK/Libs"
WORK_DIR="/tmp/fix_alignment_work"
fix_library() {
local LIB_PATH="$1"
local LIB_NAME=$(basename "$LIB_PATH")
echo "=========================================="
echo "正在修复: $LIB_NAME"
echo "=========================================="
# 备份原文件
if [ ! -f "${LIB_PATH}.bak" ]; then
cp "$LIB_PATH" "${LIB_PATH}.bak"
echo "✅ 已备份为 ${LIB_NAME}.bak"
else
echo "⚠️ 备份已存在,跳过备份"
fi
# 获取架构列表
ARCHS=$(xcrun lipo -info "$LIB_PATH" | sed 's/.*are: //' | sed 's/.*is architecture: //')
echo "包含架构: $ARCHS"
# 创建工作目录
rm -rf "$WORK_DIR"
mkdir -p "$WORK_DIR"
local THIN_LIBS=()
for ARCH in $ARCHS; do
echo " 处理架构: $ARCH"
local ARCH_DIR="$WORK_DIR/$ARCH"
mkdir -p "$ARCH_DIR"
# 提取单架构
xcrun lipo "$LIB_PATH" -thin "$ARCH" -output "$ARCH_DIR/thin.a"
# 使用 libtool 重新打包(会修复对齐问题)
cd "$ARCH_DIR"
xcrun ar x thin.a
rm -f thin.a __.SYMDEF "__.SYMDEF SORTED"
# 用 libtool 重新创建静态库
xcrun libtool -static -o "$ARCH_DIR/fixed.a" "$ARCH_DIR"/*.o 2>/dev/null || \
xcrun ar rcs "$ARCH_DIR/fixed.a" "$ARCH_DIR"/*.o
THIN_LIBS+=("$ARCH_DIR/fixed.a")
cd - > /dev/null
done
# 合并所有架构
xcrun lipo -create "${THIN_LIBS[@]}" -output "$LIB_PATH"
echo "✅ $LIB_NAME 修复完成"
echo ""
# 清理
rm -rf "$WORK_DIR"
}
echo "? 开始修复静态库对齐问题..."
echo ""
fix_library "$LIBS_DIR/libmp3lame.a"
fix_library "$LIBS_DIR/libTouchJSON.a"
echo "=========================================="
echo "? 全部修复完成!"
echo "原始文件已备份为 .bak 文件"
echo "请重新编译项目测试"
echo "=========================================="
0 个回复