为旧版Mac编译程序

时间:2012-10-25 13:24:45

标签: objective-c macos compilation

我有一个客观的c脚本,它接收Mac的系统信息并将其作为带有特定标签的XML输出。它适用于Mountain Lion和Lion,但不适用于除此之外的任何版本。高达10.5将是理想的。当我在10.6.8上运行它时,我得到一个错误的CPU错误。有什么建议?

1 个答案:

答案 0 :(得分:1)

Xcode 4.5.1附带OS X 10.7和10.8 SDK。要编译在早期OS X版本上运行的程序,必须在程序设置的“信息”选项卡中设置“OS X部署目标”。

仅在OS X 10.6及更高版本上支持“自动引用计数”(请参阅​​Objective-C Feature Availability Index)。如果要部署到10.5,则必须在没有ARC的情况下进行编译。所以要么

  • 您创建一个新项目并取消选中“使用自动引用计数”或
  • 在构建设置中将“Objective-C自动引用计数”设置为“否”。

要构建在32位处理器上运行的可执行文件,必须在Build设置中将“Architectures”设置为“32位Intel”。默认情况下,Xcode 4.5.1将针对编译机器的体系结构进行编译(最有可能是64位)。但是在这种情况下你不能使用ARC,因为ARC需要所谓的“现代运行时”,它只能在64位系统上使用。