2015-12-15 80 views
0

昨天我跑我的项目,这些导入文件:Objective-C的.h文件中未发现

#import "sip/NgnSipPreferences.h" 
#import "services/impl/NgnBaseService.h" 
#import "services/INgnSipService.h" 

,但今天我对他们收到错误。它说没有找到'sip/NgnSipPreferences.h'文件。但当我删除sip/使它"NgnSipPreferences.h"然后它被读取。

为什么会发生这种情况?我不想删除头文件的路径,因为它太多了,我认为这是正确的方法。

我该如何解决这个问题?

+0

好了,这是没有前缀头。你可以#导入你的前缀文件中的3个头文件,不需要在每个类中导入它们。 –

+0

他们实际上是来自idoubs的代码。昨天他们非常好,现在我在每个人都用.h文件得到错误。 – theFool

+0

您是否检查过构建日志以查看正在传递给编译器的'-I'选项? – trojanfoe

回答

2
#import "sip/NgnSipPreferences.h" 

从文件夹SIP /,相对于所述文件导入的导入NgnSipPreferences.h

所以,你有2个解决方案,如果你不想改变#进口(通常是更好地做你说,留在适当的地方进口/包括):

  1. 您移动(在sip /目录之上),或者
  2. 您在您的Build_Settings中添加文件夹以上的 sip /目录到HEADER_SEARCH_PATHS参数(例如,如果您在根目录中有sip /文件夹,只需添加${SRCROOT}而不递归 - 在这种情况下,编译器肯定会找到您的头文件${SRCROOT}/sip/NgnSipPreferences.h)

注:获得与主题信心,读Adding system header search path to Xcode

注:如果这是今天工作到昨天,但不是,你可以很容易理解,如果你安装了GIT或其他版本发生了什么工具,但有时Xcode并没有正确清理所有的缓存,所以你的问题可能在你想到的日期之前引起很多。出于这个原因,不仅“干净”,而且还删除目录DerivedData是非常有用的! (我经常做的事情时,“怪”正在发生的事情...)

+0

我恢复到我在最后的Git代码,但它仍然没有工作,所以我试图删除目录DerivedData并把它再次,现在的工作!感谢您的建议! – theFool