XCode 4使用C ++库自动完成?

时间:2011-08-06 14:20:40

标签: objective-c xcode cocos2d-iphone box2d

我正在为我的项目使用Cocos2D Box2D模板。

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

“Eclipse CDT”中是否有“重建索引”这样的功能?

任何提示?

5 个答案:

答案 0 :(得分:8)

您可以通过删除Xcode service 文件夹(Xcode 4.x的 DerivedData )来强制Xcode重建索引:

  1. 关闭Xcode
  2. 删除服务文件夹
  3. 打开您的项目,Xcode将重建索引
  4. 在我的情况下,这总是有效的,我可以打电话给b2 ... autosuggest。

    可以在〜/ Library / Developer / Xcode / DerivedData

    中找到 DerivedData 文件夹

答案 1 :(得分:2)

这可能是一个明显的建议,但您是否尝试输入一个您知道存在的类与您所包含的内容,并查看它是否识别它(使用着色和/或快速帮助)?此外,您是否包含必要的框架等?就重新加载而言,在XCode中我唯一可以做的就是干净(shift + cmd + k)并重新构建。你有任何警告,错误等吗?另一个可能明显的问题是,XCode设置为c ++作为语言?无论如何,希望你还没有尝试过所有这些,它可以帮助你到达某个地方。

答案 2 :(得分:2)

假设您正在使用XCode 4,您可以简单地重建索引:

  1. 打开管理器(Command + Shift + 2)
  2. 点击顶部的“项目”
  3. 在左侧边栏中选择要重建索引的项目
  4. 点击管理器中心部分的“派生数据”旁边的“删除”
  5. 这比遍历目录和手动删除一系列文件夹更容易。

答案 3 :(得分:1)

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

答案 4 :(得分:1)

将上述所有帖子合并在一起,这就是我解决问题的方法:

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

2)双击XCode中的项目

打开项目设置

3)向下滚动到“搜索路径”

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

5)通过以下两种方式之一删除项目的派生数据:

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

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

6)重启Xcode

7)清理并重建代码

8)代码意义现在应该有效!