【问题标题】:how to compile and use objc runtime from apple's source code?如何从苹果的源代码编译和使用 objc 运行时?
【发布时间】:2015-06-05 15:58:51
【问题描述】:

众所周知,objc 的运行时是开源的,可以从以下位置下载:http://www.opensource.apple.com/tarballs/objc4/

下载压缩包后解压。我使用 xcode 打开objc.xcodeproj。但是,当我构建它时,有很多错误,例如找不到某些标题。我用谷歌搜索了所有丢失的标题,下载它们,把它们放在/tmp/objc.dst/usr/include。但是没有运气,仍然会出错。

我在互联网上搜索过,但找不到关于以下方面的文档或说明:

  1. 如何从源代码编译苹果的objc运行时?
  2. 编译后应该得到libobjc.A.dylib,如何使用(代替系统的libobjc.A.dylib)?

非常感谢您提供的任何帮助。

【问题讨论】:

    标签: ios objective-c xcode compiler-errors clang


    【解决方案1】:

    在 10.10.2(14C1514)、Xcode 6.2 (6C131e) 下编译没有错误。

    1. 您需要 OSX 10.8 SDK,您可以从早期的 Xcode install dmg 或此存储库中获得它 https://github.com/phracker/MacOSX-SDKs(如果您从此 repo 下载 sdk,您可能需要使用此脚本修复软链接 http://blog.jeswang.org/blog/2014/10/26/fix-slash-soft-slash-links-slash-in-slash-an-slash-archived-slash-file/ ,你可能需要运行脚本两次才能递归引用)

    2. 更多 10.8 sdk 到 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

    3. 克隆此存储库https://github.com/Jeswang/objc4-532.2

    4. 编译并运行 debug-objc 方案

    5. 您可以在源代码中设置任何断点并调试整个运行时。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 2012-01-25
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多