Xcode找不到#include<>头

时间:2010-01-21 11:46:29

标签: c++ xcode include header-files

我正在尝试让Xcode导入Irrlicht的头文件。

#include <irrlicht.h>

它说“Irrlicht.h。没有这样的文件或目录”。是的,使用大写字母I的Irrlicht.h,即使#include是小写的。

无论如何,我在Xcode项目的标题搜索路径中添加了“/lib/irrlicht-1.6/include”,但它仍然找不到它。

我尝试过的唯一有效的方法是:

#include "/lib/irrlicht-1.6/include/irrlicht.h"

这有点荒谬,#include应该有用,我不明白为什么它不起作用。

更新(以下是有关错误的更多详细信息):

/lib/PAL/pal_benchmark/palBenchmark/main.h:31:0
/lib/PAL/pal_benchmark/palBenchmark/main.h:31:22: error: irrlicht.h: No such file or directory

5 个答案:

答案 0 :(得分:14)

我想出来了。也许有人可以评论为什么会这样。

标题位于此目录中:

/lib/irrlicht-1.6/include/

如果我将该路径添加到:“标题搜索路径”,Xcode在构建项目时仍然找不到路径。

解决方案:将标题路径添加到:“用户标题搜索路径”

令我难以理解为什么我必须这样做,因为我经常将我的标题路径添加到“标题搜索路径”,然后#includes只是工作。希望这可以帮助那些得到同样问题的其他人。

答案 1 :(得分:2)

两个

#include <irrlicht.h> 

#include "irrlicht.h" 
只要gcc的“-I”参数包含封闭头文件的目录的路径,

就应该工作。如果 irrlicht.h 是/ usr / include的一部分,则不再需要“-I”选项。

答案 2 :(得分:0)

不是明确地将include路径添加到项目设置中,对于这种情况更简单,更方便的解决方案是只需将包含.h文件的目录(在本例中为/lib/irrlicht-1.6/include)拖入项目文件窗格。这当然会将标题添加到项目中,并且可以轻松浏览它们并搜索符号等,并且还会将目录路径添加到gcc编译中,这样您就不必显式管理包含路径。

答案 3 :(得分:0)

此外,平面文件层次结构不是您想要的。将文件拖入Xcode会使您的层次结构变得扁平化。例如,当您想要具有多个目标时,该目标具有“TargetName / settings.h”文件。您将拥有许多您需要通过其文件夹名称保持唯一的settings.h文件。

答案 4 :(得分:0)

我知道这是一篇很老的帖子,但它确实在Google上排名很高,所以我想我会添加一些信息

在XCode 3.2.6下,我遇到了XCode无法找到头文件的问题。事实证明,其中一个文件路径中包含一个空格,而XCode对它进行了不正确的解释。

例如:使用类似“Users / Username / Desktop / Project / Some Headers”的路径

以下是GCC Commandline的摘录:“ - I / Users / Username / Desktop / Project / Some”“ - I / Headers”

要查看XCode提供的构建日志,这里有一个很好的教程:How do you show Xcode's build log? (Trying to verify if iPhone distribution build zip was created correctly.)