V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PepperEgg
V2EX  ›  macOS

M1/x86_64 不同平台的 macOS 软件兼容性问题

  •  
  •   PepperEgg · 2022-05-30 16:21:08 +08:00 · 1696 次点击
    这是一个创建于 689 天前的主题,其中的信息可能已经有所发展或是发生改变。
    编译的 chromium 项目,之前一直没拿其他电脑测试。今天一测,炸了。。。
    x86_64(以下统称 x86)的 mac 打不开 T.T
    我的 mac 是 M1 的,版本 12 。编译好之后,给公司不同的电脑测试,只要是个 x86 的不管是 10 11 12 都跑不了,是个 m1 的不管是 11 还是 12 都能跑。请问这种兼容性问题从何入手?
    另外我用我的电脑 xcode 新建了一个空工程,编译好之后直接放到 x86mac 跑竟然能跑起来。。。
    所以说这是 chromium 工程配置 or 选项我漏了啥,还是说这就是 mac M1/x86 需要特殊处理的地方?
    感觉这跟 windows 上差别好大,求大佬解惑!
    第 1 条附言  ·  2022-05-31 09:15:36 +08:00
    6 条回复    2022-05-31 08:53:08 +08:00
    7v9TEc53
        1
    7v9TEc53  
       2022-05-30 16:32:06 +08:00
    默认可能只编译 arm 架构,xcode 新工程编译出来的会同时包括 arm 和 x86 架构
    PepperEgg
        2
    PepperEgg  
    OP
       2022-05-30 17:13:40 +08:00
    @7v9TEc53 请问有可配置的地方吗
    hackpro
        3
    hackpro  
       2022-05-30 17:54:28 +08:00 via iPhone
    这就是我刚需黑苹果的原因
    liprais
        4
    liprais  
       2022-05-30 17:56:56 +08:00
    你编译的时候指定架构了么....
    Cryse
        5
    Cryse  
       2022-05-30 19:23:26 +08:00
    没编译过 chromium 但编译过 v8, 两边 (x86_64 和 Apple Silicon) 都可以交叉编译另一个架构,不过需要在参数里指定架构的.

    另外可以把不同架构的 binaries 合并成一个 universal binary (fat binary), Frameworks 也可以合并成 XCFramework.
    seansong
        6
    seansong  
       2022-05-31 08:53:08 +08:00
    chromium 每次不是只编译一个架构么,你编译成 aarch64 ,再编译一个 x86 架构的就好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5194 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:38 · PVG 15:38 · LAX 00:38 · JFK 03:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.