我正在尝试让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
答案 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.)