x***@163.com
x***@163.com
  • 发布:2026-03-26 17:16
  • 更新:2026-04-14 17:52
  • 阅读:588

请教用xCode 26.4在对uni-app进行本地编译时库出现字节对齐的问题

分类:uni-app

在用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)

2026-03-26 17:16 负责人:无 分享
已邀请:
橘子Jun

橘子Jun

亲测有效,注意需要替换掉 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 "=========================================="  
  • 创跃未来科技

    请问解决了 按照这个教程还是报错

    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 改成


    fix_library "/Users/yyw/Desktop/XMABR_OA/jyjoa2.0/jyjoa/MVC/Communication/General/Audio/VoiceConvert/opencore-amrwb/libopencore-amrwb.a"  
    fix_library "/Users/yyw/Desktop/XMABR_OA/jyjoa2.0/jyjoa/MVC/Communication/General/Audio/VoiceConvert/opencore-amrnb/libopencore-amrnb.a"

    2026-04-08 14:56

  • l***@163.com

    赞,已解决!!!!

    2026-04-14 17:53

k***@gmail.com

k***@gmail.com

官方什么时候才能处理这个问题?

Ask小助手

Ask小助手

欢迎到专业群( 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 及以上版本),但针对您遇到的本地编译静态库对齐问题,知识库暂无相关修复记录。

建议您通过以下途径获取帮助:

  1. 前往 uni-app 官方技术交流群 咨询专业管理员
  2. 检查本地 SDK 版本是否为最新版(您使用的 5.05 版本可能需要更新)
  3. 考虑使用云端打包作为临时解决方案(云端环境已适配 XCode 26)

知识库中关于 iOS 打包环境的详细说明可参考:iOS平台云端打包环境

内容为 AI 生成,仅供参考
4***@qq.com

4***@qq.com

我也遇到这个问题了,大佬们知道怎么处理吗。。。

l***@163.com

l***@163.com - 自由职业者

赞,已解决!!!!!!!

要回复问题请先登录注册