2011-08-06 44 views
4

我正在为我的项目使用Cocos2D Box2D模板。XCode 4自动完成与C++库?

当我键入“b2 **”时,自动完成不会显示任何Box2D类。 (按ESC也不显示任何) 我在“Prefix.pch”文件中包含了Box2D.h和Cocos2d.h。

在“Eclipse CDT”中有没有像“重建索引”的功能?

任何提示?

回答

1

This page列出了另一位用户完成Xcode 4和Box2D的代码完成工作的步骤 - 这些步骤包括删除派生数据文件夹,还要更改用户头搜索路径,确保路径中没有空格项目和其他事情。其中一些步骤可能是随机的或不相关的,但显然他们在该论坛上解决了两个人的问题。

+0

我有与Box2D完全相同的问题,我遵循上面的步骤,它修复了它。 –

2

这可能是一个明显的建议,但是您是否尝试过输入一个您知道存在的类,并查看它是否能识别它(同时使用着色和/或快速帮助)?另外,你有必要的框架,包括等?就重新加载而言,我知道的唯一可以在XCode中完成的事情就是clean(shift + cmd + k)并重新构建。你是否得到任何形式的警告,错误等?另一个潜在的明显问题是,XCode是否设置为C++语言?无论如何希望你还没有尝试所有这一切,它可以帮助你到达某个地方。

8

您可以强制Xcode中删除它服务文件夹(DerivedData的Xcode的4.x的)重建索引:

  1. 关闭的Xcode
  2. 删除服务文件夹
  3. 打开项目和Xcode将再次重建索引

在我的情况下,这总是有效,我可以打电话给b2 ... autosuggest。

DerivedData文件夹可以在〜/库/开发商/ Xcode中/ DerivedData

+0

感谢您的回答。对Mac新来说,请您告诉我这个“DerivedData”文件夹在哪里? –

2

假设你正在使用的XCode 4可以发现,你可以重建索引,而简单:

  1. 打开主办单位(命令+ SHIFT + 2)
  2. 单击顶部部分
  3. 选择项目要在左侧边栏重建索引“项目”
  4. 单击管理器中心部分的“派生数据”旁边的“删除”

这比遍历目录和手动删除一系列文件夹更简单。

+0

我这样做了,但它仍然不显示C++结构/类的自动建议(在我的基础Box2D类中)。我必须每次引用Box2D API来键入我想要的方法。 –

1

上述所有职位组合在一起,这是我如何着手解决我的问题:

1)确保所有文件夹中的文件。这听起来很明显,但我的Box2D文件与我的其他代码不在同一个文件夹中。当使用XCode创建一个新项目时,它会创建一个包含项目名称的文件夹,然后再创建一个名称为该项目名称的文件夹。例如:“{项目路径}/TempProject/TempProject”。我在第一个TempProject目录中有我的Box2D文件,而不是在TempProject的子目录下创建的其余代码。

2)在XCode中

3双击打开你的工程项目的设置),向下滚动到“搜索路径”

4)编辑“头搜索路径”值是:$ {SOURCE_ROOT }/$ {PROJECT_NAME}/**(注意:如果你的Xcode没有创建像我的子目录那样的“TempProject/TempProject”,那么只需使用$ {SOURCE_ROOT}/**)

5)删除你的项目的Derived数据通过以下两种方式中的一种进行:

a)打开管理器 - >选择项目 - >选择您的项目 - >选择项目导出数据旁边的删除

b)打开Finder - >选择从工具栏开始 - >输入“〜/ Library/Developer/XCode/DerivedData” - >查找并删除所需项目的文件夹

6)重新启动的Xcode

7)清洁和重建代码

8)的代码,感觉现在应该努力!