您的位置:
首页
>>
SoftHub关联区
>> 主题: [xcode/archs] xcode 打包时如何只选择特定的 x86 或者是 arm64 -- macos 可以用和 ios 一样的解决办法
[最新]
[回主站]
[xcode/archs] xcode 打包时如何只选择特定的 x86 或者是 arm64 -- macos 可以用和 ios 一样的解决办法
clq
浏览(293) -
2023-10-07 21:38:10 发表
编辑
关键字:
[2023-12-07 15:14:21 最后更新]
[xcode/archs] xcode 打包时如何只选择特定的 x86 或者是 arm64 -- macos 可以用和 ios 一样的解决办法
xcode 的编译本来就已经很复杂了,在 ios 就有 arm64 arm32 的头痛问题。如今的 mac 也同时支持 x86 和 arm64 问题更进一步复杂。
以前 xcode 下似乎没这么严格,现在也是必须要指定具体的库指定集才行,比如视频库只有 x86 版本时,目前只能指定这个 arch 。
方法有两种,一时指定一个新的 archs ,让其只包含 x86_64 。
而默认的 archs 参数是 $(ARCHS_STANDARD)
"
例如在 M1 芯片的 Mac 上利用 Xcode 13.1 创建的 macOS 项目,$(ARCHS_STANDARD) 实际值是arm64,在 Intel 芯片的 Mac 上创建的 macOS 项目,其值是x86_64 arm64。
"
“
而在 Intel 芯片的 Mac 上利用低版本的 Xcode 创建的 macOS 项目,其值是x86_64。
”
参考 https://zhuanlan.zhihu.com/p/440986066
--------------------------------------------------------
要修改这个参数,要在 xcode 的 "PROJECT" 页面的 "Build Setting" 的子页面的 "All" 中找到 "Architectures" 的那个列表下的一个子项目 “Architectures”(名称和上一级一样...)中修改。
不过感觉这个比较危险,改默认的总是不太好,所以可以用另外一个参数。
同在 "Architectures" 页面下,修改 "Excluded Architecture" 加上 "arm64" 就可以了。
参考 https://blog.csdn.net/linzhiji/article/details/128406881
“
Excluded Architecture
排除的架构。排除的架构将不参与编译。例如:这里选择了arm64,编译产物将不会包含arm64指令架构。
”
[图片]
clq
2023-10-07 22:08:31 发表
编辑
ps.如果用默认的。编译错误有可能类似于
"
building for macOS-arm64 but attempting to link with file built for macOS-x86_64
"
clq
2023-12-07 15:14:21 发表
编辑
补充2:
如果不是以 Rosetta 启动的 m1 芯片上的 xcode 可能无法调试,但是是可以正常编译的。编译的结果有可能为以下路径
/Users/ccc/Library/Developer/Xcode/DerivedData/textfile2-【一串随机字符】/Build/Products/Debug/文本处理大师.app
这时是可以直接在 m1 芯片上双击启动的。
本帖子属于以下条目()
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.