在用HbuilderX5.05(ARM)、XCode 26.4、SDK 5.05.20260324175 (都是最新版本)对uni-app项目进行IOS本地编译时出现了以下错误,请问大家有没有遇到过?是如何解决的?请了解过的热心朋友给与指点,谢谢。
第1个错误:/Users/soft/5.05/SDK/HBuilder-Hello/HBuilder-Hello.xcodeproj Multiple errors: 64-bit mach-o member 'tabinit.o' not 8-byte aligned in '/Users/soft/5.05/SDK/SDK/libs/libmp3lame.a'; 64-bit mach-o member 'NSScanner_Extensions.o' not 8-byte aligned in '/Users/soft/5.05/SDK/SDK/libs/libTouchJSON.a'
第2个错误:/Users/soft/5.05/SDK/HBuilder-Hello/HBuilder-Hello.xcodeproj Linker command failed with exit code 1 (use -v to see invocation)
x***@163.com
- 发布:2026-03-26 17:16
- 更新:2026-04-14 17:52
- 阅读:588
亲测有效,注意需要替换掉 LIBS_DIR,例如楼主就需要设置为 LIBS_DIR="/Users/soft/5.05/SDK/SDK/libs"
#!/bin/bash
# 修复静态库 .o 文件 8 字节对齐问题
# 适用于 Xcode 26 / 新版 ld 要求
set -e
LIBS_DIR="【替换为你的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 "=========================================="
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
抱歉,我在知识库中没有找到关于 XCode 26.4 本地编译时出现 "64-bit mach-o member not 8-byte aligned" 字节对齐错误的具体解决方案。
根据知识库信息,目前云端打包环境已升级为 XCode 26.3 / iOS SDK 26.2(适用于 HBuilderX 4.41 及以上版本),但针对您遇到的本地编译静态库对齐问题,知识库暂无相关修复记录。
建议您通过以下途径获取帮助:
- 前往 uni-app 官方技术交流群 咨询专业管理员
- 检查本地 SDK 版本是否为最新版(您使用的 5.05 版本可能需要更新)
- 考虑使用云端打包作为临时解决方案(云端环境已适配 XCode 26)
知识库中关于 iOS 打包环境的详细说明可参考:iOS平台云端打包环境
内容为 AI 生成,仅供参考
创跃未来科技
请问解决了 按照这个教程还是报错
2026-03-30 17:40
橘子Jun
回复 创跃未来科技: 可以把报错信息贴一下,我这里是好了
2026-03-31 11:40
创跃未来科技
回复 橘子Jun: 好了 我这里是把这几个包删了 好了
2026-03-31 13:36
xmyyw
回复 橘子Jun: 我也遇到这个问题,能帮我看看吗
/Users/yyw/Desktop/XMABR_OA/jyjoa2.0/jyjoa.xcodeproj Multiple errors: 64-bit mach-o member 'weight_amrwb_lpc.o' not 8-byte aligned in '/Users/yyw/Desktop/XMABR_OA/jyjoa2.0/jyjoa/MVC/Communication/General/Audio/VoiceConvert/opencore-amrwb/libopencore-amrwb.a'; 64-bit mach-o member 'window_tab.o' not 8-byte aligned in '/Users/yyw/Desktop/XMABR_OA/jyjoa2.0/jyjoa/MVC/Communication/General/Audio/VoiceConvert/opencore-amrnb/libopencore-amrnb.a'
2026-04-03 17:02
x***@duopu.cn
很赞,亲测有效!???
2026-04-03 17:14
xmyyw
回复 x***@duopu.cn: 能解决吗
2026-04-03 17:15
橘子Jun
回复 xmyyw: 脚本末尾的两行 fix_library 改成
2026-04-08 14:56
l***@163.com
赞,已解决!!!!
2026-04-14 17:53