如何使用 XCode 9.4 为 Mac OSX 编译仅 32 位版本?

问题描述 投票:0回答:1

我有一个非常旧的 macOS 项目,我将把它移植并转换为 64 位,但现在我需要在 32 位模式下编译和调试它,因为它有一个复杂的模块,只能在 32 位模式下运行。我有一个使用 XCode 9.4 设置的 Mojave 系统,并且可以使用我个人的 make 方案成功编译终端中的所有 32 位内容。但是,当我尝试将测试应用程序放入 XCode 进行调试时,编译在链接阶段失败。 Xcode 忽略我的库,因为它坚持构建 64 位,然后在其中驻留的未定义符号上失败。是的,它们都是 32 位的,因为这就是我现在需要的。

好愚蠢的问题。如何配置 XCode 9.4 以停止尝试编译 64 位而仅编译 32 位?我对此是全新的。看起来我已正确设置所有编译标志,并且已将 macOS 部署目标设置为 macOS 10.13。

我可以将该目标一直设置到 macOS 10.6,但同样的问题仍然存在。

这帮人有什么伎俩?我需要使用更旧版本的 XCode 吗?

我尝试从有效架构中删除“x86_64”,只留下“i386”,但这样做会导致 XCode 在我按下编译按钮的那一刻立即崩溃并出现 SIGABRT!

弄乱“Architectures”设置也会导致 XCode 崩溃。顺便说一句,那里没有仅 32 位的选项可用。

xcode 32-bit
1个回答
0
投票

好的,

我自己解决了这个问题。也许应该在发布之前尝试一下,抱歉。好消息是这个答案现在出现了。

答案是……

XCode 9.4/9.4.1 应该是能够构建 32 位应用程序的最后一个版本。嗯,事实并非如此。结果惨遭失败。

我回滚到 XCode 9.2,它工作得很好。

因此,XCode v9.4 作为最后一个 32 位项目构建器的官方报告纯属胡言乱语。

如果您需要编译和调试旧的 32 位代码,请使用 v9.2。

阿罗哈!

© www.soinside.com 2019 - 2024. All rights reserved.