【问题标题】:Integrating a C project in the iPhone SDK在 iPhone SDK 中集成 C 项目
【发布时间】:2011-12-08 06:48:02
【问题描述】:

这是我第一次做这种项目,如果问题很愚蠢,请道歉。

我有一个关于将 C 项目与 iPhone SDK 中的项目一起使用的问题。我已经将 C 项目拖放到 Xcode 中的 iPhone 项目中(所以它出现在下面的屏幕截图中)。

sjeng.h 是 GameEngine.xcodeproj 中的一个文件,但是当我尝试包含头文件时,我不仅收到错误消息,而且它正在寻找的文件似乎是大写的,而 import 语句不是。

有谁知道问题出在哪里?

谢谢!

【问题讨论】:

    标签: iphone c objective-c dependencies


    【解决方案1】:

    您可以通过拖放或 Project/Add to project... 命令将文件添加到 XCode 项目中(两种方式完成相同的操作)。

    问题似乎是您已将“GameEngine.xcodeproj”项目文件添加到“测试”项目中,但您没有包含实际构成“GameEngine”项目的文件(例如 sjeng.h)。那是行不通的。

    有两种不同的方法可以解决这个问题:

    1) 将“GameEngine”中的所有 .c 和 .h 文件添加到“Test”,然后直接将它们编译为 iPhone 应用程序的一部分。这有时是最直接的方法,但就模块化和代码重用而言,它并不是最佳实践。

    2) 让“GameEngine”项目构建一个框架(也许它已经设置为构建为一个框架),然后将该框架添加到您的“测试”项目中。显然,您需要使用具有适当设置(模拟器与设备)的 iPhone SDK 构建“GameEngine”框架,以匹配您构建应用程序其余部分的方式。在这种情况下,您将有一个两步构建过程:首先打开“GameEngine”项目并构建框架,然后打开您的“测试”项目并构建它。

    【讨论】:

      【解决方案2】:

      我相信您需要将源文件添加到您的项目中(Project/Add to project...),而不是拖放 .xcodeproj 文件。如果您只想引用文件而不复制它们,您可以取消选中“将项目复制到目标组的文件夹(如果需要)”。请务必包含所有必需的源文件(例如 sjeng.h 等)。

      确保将文件添加到 iPhone 项目中的正确目标中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-27
        • 2011-06-18
        • 2017-02-20
        • 2012-01-26
        • 2017-02-12
        • 1970-01-01
        • 2011-10-14
        • 2017-02-26
        相关资源
        最近更新 更多