为什么我得到这个错误使用XCode 4为我的iPhone项目build立一个静态库?
我有一个现有的iPhone应用程序,我只想从代码中创build一个静态库,以便我可以通过单独的testing应用程序(在工作区内)使用它。 应用程序编译好,但是当我尝试编译库版本(它具有相同的代码文件),我得到以下错误:
- Lexical或Preprocessor问题 – 找不到“MyClass.h”文件
但是,应用程序仍然运行,即使通过这个错误。 事实上,当我编译应用程序(它使用静态库)时,它最初说没有错误,然后在一两秒之后,上面提到的错误出现。
我基本上在做:
- 使用Coco Touch静态库在项目中创build一个新的目标
- 将.m文件添加到目标“编译源”
- 在目标中添加.h文件“Copy Headers”
- 在“与库链接二进制文件”中添加相同的一组库
- 进入configuration文件并修改目标为RELEASE
有什么build议么? 我在这里错过了一步吗?
我会在这刺:-)我认为这可能是MyClass.h已被设置为私人。 因此,当您创build静态库时,它不会被添加到头文件目录中。 您应该通过检查输出头目录来检查是否如此。 如果头文件丢失,那么很确定这是怎么回事。
其次,为什么使用一个单独的应用程序进行testing,因此需要build立一个静态库? 我有几个静态库和应用程序,我用GHUnitunit testing。 我只需添加一个新的应用程序目标并configuration它来运行GHUnit iOS应用程序。 然后,我可以添加我想testing的类和任何testing框架,如OCMock,而无需创build单独的项目。 基本上这听起来像你的testing方法可能比必要的更复杂。 🙂
所以,这个问题原来是我在“其他链接标志”选项中设置了“-ObjC”,我将它放在那里,试图让事情工作我读这是必需的 – 德里克斯build议审查编译日志在这里工作得很好