Xcode4 在Xcode中使用Cocos2d设置Box2D时出现编译错误

Xcode4 在Xcode中使用Cocos2d设置Box2D时出现编译错误,xcode4,cocos2d-iphone,box2d,Xcode4,Cocos2d Iphone,Box2d,我注意到其他几个人也有类似的问题,但这有点奇怪 我有一个新安装的scode 4.2和几周前最新的CoCo2D。我已经把所有的文件都包含了BOX2D到C++ .mm文件扩展名。我还为appName/libs**设置了用户标题搜索路径 当我编译b2BroadPhase.cpp和/或b2.cpp缺失时,或者更罕见的是,Box2d.h缺失。我已检查,所有这些文件都位于我的应用程序目录中的正确位置 有谁能告诉我为什么找不到文件,为什么丢失的文件数量随机波动 编辑: 好的,我显然不明白标题搜索路径。。。它们

我注意到其他几个人也有类似的问题,但这有点奇怪

我有一个新安装的scode 4.2和几周前最新的CoCo2D。我已经把所有的文件都包含了BOX2D到C++ .mm文件扩展名。我还为appName/libs**设置了用户标题搜索路径

当我编译b2BroadPhase.cpp和/或b2.cpp缺失时,或者更罕见的是,Box2d.h缺失。我已检查,所有这些文件都位于我的应用程序目录中的正确位置

有谁能告诉我为什么找不到文件,为什么丢失的文件数量随机波动

编辑:


好的,我显然不明白标题搜索路径。。。它们是否设计为指向通常不会被搜索的文件夹?如果添加标题搜索路径,则会出现200多个错误,表示找不到box2D文件。如果不添加标题搜索路径,则会出现1-3个错误,表示找不到文件。

您的标题搜索路径很可能是错误的。你介意把它贴出来吗? 如果您的Box2D文件夹位于您的Xcode文件夹(查找器)中,它应该简单如下:

$(SRCROOT)


标题搜索路径很可能是错误的。你介意把它贴出来吗? 如果您的Box2D文件夹位于您的Xcode文件夹(查找器)中,它应该简单如下:

$(SRCROOT)


您的问题是您已经设置了“用户标题搜索路径”。但是,Box2D要求您在“标题搜索路径”生成设置中指定路径。这是因为BOX2D使用C++风格的角度括号括语句:

#include <Box2D/Dynamics/b2Body.h>
然后,您的Box2D标题搜索路径必须指向

cocos2d-iphone/external/Box2d/Box2D

您可能指定了“Box2d”文件夹而不是“Box2d/Box2d”文件夹。这也是一个常见错误。

您的问题是您设置了“用户标题搜索路径”。但是,Box2D要求您在“标题搜索路径”生成设置中指定路径。这是因为BOX2D使用C++风格的角度括号括语句:

#include <Box2D/Dynamics/b2Body.h>
然后,您的Box2D标题搜索路径必须指向

cocos2d-iphone/external/Box2d/Box2D

您可能指定了“Box2d”文件夹而不是“Box2d/Box2d”文件夹。这也是一个常见的错误。

我的问题是,在扩展名为“.m”而不是“.mm”的文件上有一个#import“Box2D.h”语句。。更改文件扩展名(选择文件,按enter键,添加额外的“m”)可以消除所有box2d错误


希望这对其他人有帮助

我的问题是在扩展名为“.m”而不是“.mm”的文件上有一个#import“Box2D.h”语句。。更改文件扩展名(选择文件,按enter键,添加额外的“m”)可以消除所有box2d错误


希望这对其他人有帮助

我的box2d文件夹位于我的应用程序目录中。我会发布我的搜索路径,但我不确定它们是什么:/我所设置的只是一个用户标题搜索路径是AppName/libs/**。我注意到,对于标题搜索路径,我可以设置调试和发布搜索路径。。。这与此有关吗?不,只需转到项目设置,搜索:User Header搜索路径,然后键入我上面的第一个示例。如果这不起作用,请在我的第二个示例中键入,并让我知道它是如何运行的。我已经尝试了这两个plus$(SRCROOT)/libs/Box2D和其他几个启用递归的示例,但我仍然存在相同的问题:/您介意在finder中发布Box2D文件夹所在位置的屏幕截图吗?我只是想确定我和你在同一条轨道上!我不想给你添太多麻烦。你在谷歌上搜索过这个问题吗?我记得有一个类似的问题,但对我来说,是标题搜索路径修复了它。我的box2d文件夹位于我的应用程序目录中。我会发布我的搜索路径,但我不确定它们是什么:/我所设置的只是一个用户标题搜索路径是AppName/libs/**。我注意到,对于标题搜索路径,我可以设置调试和发布搜索路径。。。这与此有关吗?不,只需转到项目设置,搜索:User Header搜索路径,然后键入我上面的第一个示例。如果这不起作用,请在我的第二个示例中键入,并让我知道它是如何运行的。我已经尝试了这两个plus$(SRCROOT)/libs/Box2D和其他几个启用递归的示例,但我仍然存在相同的问题:/您介意在finder中发布Box2D文件夹所在位置的屏幕截图吗?我只是想确定我和你在同一条轨道上!我不想给你添太多麻烦。你在谷歌上搜索过这个问题吗?我记得有一个类似的问题,但对我来说,是标题搜索路径解决了它。我不断重复我自己的话,但如果你使用Kobold2D,你就不必担心这种“设置第三方库”的问题呵呵,你说服了我,我会在下一个项目中查看Kobold2d。我不喜欢中途跳船,不过:)试试也无妨我不断重复我自己的话,但如果你使用Kobold2D,你就不必担心这种“设置第三方库”的问题呵呵,你说服了我,我会在下一个项目中查看Kobold2d。我不喜欢中途跳船,不过:)试试也无妨嗯,我试过了,但还是不起作用。为了清楚起见,当我启动应用程序时,我从xcode菜单中指定了一个cocos2d/box2d应用程序,我自己没有导入cocos2d。我的应用程序文件夹中有一个box2D文件夹和一个cocos2d文件夹。因此,我要访问我的box2D文件夹,地址是/appname/appname/libs/box2D,要访问cocos2d文件夹,地址是/appname/appname/libs/box2D。对不起,cocos2d文件夹的/appname/appname/libs/cococs2d。嗯,我已经尝试了这个方法,但仍然不起作用。为了清楚起见,当我启动应用程序时,我从xcode菜单中指定了一个cocos2d/box2d应用程序,我自己没有导入cocos2d。我的应用程序文件夹中有一个box2D文件夹和一个cocos2d文件夹。因此,要访问我的box2D文件夹,地址是/appname/appname/libs/box2D-an