Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找不到Objective-C.h文件_Objective C_Header Files - Fatal编程技术网

找不到Objective-C.h文件

找不到Objective-C.h文件,objective-c,header-files,Objective C,Header Files,我昨天正在运行我的项目,其中包含以下导入文件: #import "sip/NgnSipPreferences.h" #import "services/impl/NgnBaseService.h" #import "services/INgnSipService.h" 但今天我在他们身上犯了错误。它表示未找到'sip/ngnsipreferences.h'文件。但是,当我删除sip/使其成为“ngnsipreferences.h”时,它就会被读取 为什么会这样?我不想删除头文件的路径,因为它太

我昨天正在运行我的项目,其中包含以下导入文件:

#import "sip/NgnSipPreferences.h"
#import "services/impl/NgnBaseService.h"
#import "services/INgnSipService.h"
但今天我在他们身上犯了错误。它表示未找到
'sip/ngnsipreferences.h'
文件。但是,当我删除
sip/
使其成为
“ngnsipreferences.h”
时,它就会被读取

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

我该如何解决这个问题

#import "sip/NgnSipPreferences.h"
相对于导入它的文件,正在从文件夹sip/导入
ngnsipreferences.h

因此,如果您不想更改#导入,您有两种解决方案(通常最好按照您所说的做,将导入/包含保留在适当的位置):

  • 将.m文件移动到适当的位置(sip/目录上方),或
  • 将sip/目录上方的文件夹添加到构建设置中的
    头搜索路径
    参数中(例如,如果根文件夹中有sip/,只需添加
    ${SRCROOT}
    ,而无需递归-在这种情况下,编译器肯定会找到头文件
    ${SRCROOT}/sip/ngnsipreferences.h)
  • 注意:要对主题有信心,请阅读

    注意:如果它一直工作到昨天,但不是今天,那么如果安装了GIT或其他版本控制工具,您可以很容易地理解发生了什么,但是有时候Xcode没有正确地清理所有缓存,因此您的问题可能在您认为的日期之前就已经发生了。因此,不仅“清除”,而且删除目录DerivedData都非常有用!(我经常在“奇怪”的事情发生时这样做…)


    嗯,这不是前缀头。您可以将这3个头导入到前缀文件中,而无需在每个类中导入它们。它们实际上是来自idoubs的代码。昨天它们都很好,现在我发现它们中的每一个都有.h文件的错误。您是否检查了构建日志以查看哪些
    -I
    选项正在传递给编译器?我还没有尝试过,但我会在我的Xcode完成更新后立即执行。(它突然更新)。我应该在构建日志中检查什么?您是如何配置此文件的?使用椰子荚?还是复制文件夹?如果您已复制文件夹,请在“生成设置”中设置用户标题搜索路径。我将还原到git中的上一个代码,但它仍然不起作用,因此我尝试删除目录DerivedData并再次将其放回,现在正在工作!谢谢你的建议!