为什么使用XCode 4为我的iPhone项目构建静态库时出现此错误?

问题描述

| 我有一个现有的iPhone应用程序,我只是想用代码创建一个静态库,以便可以在单独的测试应用程序(在工作区中)使用它。应用程序编译正常,但是当我尝试编译库版本(具有相同的代码文件)时,出现以下错误: 词汇或预处理程序问题-找不到\“ MyClass.h \”文件 但是,即使出现此错误,应用程序仍然可以运行。实际上,当我编译应用程序(使用静态库)时,它最初没有出现错误,然后在一两秒钟后出现上述错误。 我基本上是在做: 使用Coco Touch静态库在项目中创建一个新目标 将.m文件添加到目标\“编译源\”中 在目标\“ copy Headers \”中添加.h文件 在“链接库的二进制文件”中添加相同的库集 进入配置文件并将目标修改为发布 有什么建议么?我在这里错过了一步吗?     

解决方法

        我将对此进行调查:-)我认为可能是MyClass.h已设置为private。因此,在创建静态库时,不会将其添加到标头目录中。您应该通过检查输出标头目录来检查是否如此。如果头文件丢失,那么可以肯定这是怎么回事。 其次,为什么要使用单独的应用程序进行测试,并因此完全需要构建静态库?我有几个静态库和应用程序,可以使用GHUnit进行单元测试。我只需添加一个新的应用程序目标并将其配置为运行GHUnit iOS应用程序即可。然后,我可以添加要测试的类以及任何测试框架(如OCMock),而不必创建单独的项目。基本上,听起来您的测试方法可能比必要的复杂。 :-)     ,        因此,问题出在我在“其他链接标志”选项中设置了“ -ObjC”,这是我在试图使事情正常进行的一个阶段放置的,我读到这是必需的- Dereks建议在此处查看编译日志的效果很好