2011-08-06 78 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)的代碼,感覺現在應該努力!