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

2022-05-30 16:21:08 +08:00
 PepperEgg
编译的 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 上差别好大,求大佬解惑!
1705 次点击
所在节点    macOS
6 条回复
7v9TEc53
2022-05-30 16:32:06 +08:00
默认可能只编译 arm 架构,xcode 新工程编译出来的会同时包括 arm 和 x86 架构
PepperEgg
2022-05-30 17:13:40 +08:00
@7v9TEc53 请问有可配置的地方吗
hackpro
2022-05-30 17:54:28 +08:00
这就是我刚需黑苹果的原因
liprais
2022-05-30 17:56:56 +08:00
你编译的时候指定架构了么....
Cryse
2022-05-30 19:23:26 +08:00
没编译过 chromium 但编译过 v8, 两边 (x86_64 和 Apple Silicon) 都可以交叉编译另一个架构,不过需要在参数里指定架构的.

另外可以把不同架构的 binaries 合并成一个 universal binary (fat binary), Frameworks 也可以合并成 XCFramework.
seansong
2022-05-31 08:53:08 +08:00
chromium 每次不是只编译一个架构么,你编译成 aarch64 ,再编译一个 x86 架构的就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/856246

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX