7

我正在 Xcode 4.2/Lion 上使用 clang 构建一个带有 ARC 的 iOS 5 应用程序。对我来说,好的做法是尽可能多地消除警告,但我迷失了这一点。该应用程序有很多类,但它们的头文件数量有限(8 个或 9 个)会给出如下链接器警告:

warning: no rule to process file '$(PROJECT_DIR)/TKMyClass.h' of type sourcecode.objj.h for architecture arm7`

我没有看到这些标头有任何重要的共同点:有几个是第 3 方 OSS 代码;其余的都是我自己的。一个是纯 C 头文件(没有对应的 .c),只包含常量#defines和枚举;几个是用 Xcode 的模板创建的子类UIViewUIViewController其余的是普通的 Obj-C 类,其中一些继承自NSObject,而另一些则不继承。所有(我的课程)都是在不同时间在项目中从头开始创建的。较旧和较新的课程都不会发出警告。

我的项目混合使用了 C++、Objective-C++ 和 Objective C 类。这里生成警告的类主要是 Objective C(它们的实现在 .m 文件中),但是两个 3rd 方类是在 Objective C++ (.mm) 中实现的。

否则,该项目构建良好并在模拟器和 iDevices 上运行。

令我感到羞耻的是,我对 Xcode 中的项目设置页面并不是特别熟悉。我希望解决方案包含在某个地方,但我不确定从哪里开始而不破坏事物。

4

2 回答 2

20

这意味着您不小心添加了要编译的头文件。您需要进入您的项目并从该部分Build Phases中删除所有头文件。Compile Sources

于 2012-01-09T15:01:16.950 回答
2

检查您的体系结构(项目和目标):标准(armv7)-$(ARCHS_STANDARD_32_BIT)并转到Build Pharse(编译源)和脸颊那里不应该添加任何.h文件。

于 2012-01-09T15:07:13.377 回答