2012-09-01 26 views
0

我正在將我的C++引擎移植到mac,所以我用premake來生成一個xcode項目,它很好。Xcode 3 ctime聲明問題

Box2D內置於引擎中,其中一個文件「b2Broadphase.h」包含來自C++標準庫的算法。

對於ctime文件中的所有using命令,都會給出這些錯誤:::clock_t has not been declared等等。

我無法弄清楚這一點,因爲當使用premake來構建一個make文件時,它運行良好並且在OSX上構建一個完美的庫。它唯一的Xcode給這些錯誤。

+0

運行時,鏈接時或編輯時出現錯誤嗎? –

+0

當我正在編譯鏈接時間的程序時,我認爲 – Constan7ine

+0

是將.h文件包含在「.m」文件或「.mm」文件中的文件? –

回答

0

我的猜測是Xcode尚未配置爲包含實現文件(.m或.cpp),或者它尚未配置爲與您正在使用的庫鏈接。一般來說,你需要做兩件事:1.包含頭文件2.用實際的可執行文件對象鏈接庫。

在Xcode中,通過在左側的文件瀏覽器面板中選擇項目(最上面的項目)來完成此操作,並在主區域中有一個部分選擇要鏈接的庫。即使已經導入了頭文件,您也必須專門告訴它鏈接到正在使用的任何庫。

對於.cpp或.m實現文件,您需要告訴它將該文件包含在編譯目標中。這可以在構建設置(與lib包含類似的位置)中完成,也可以在選擇文件時完成,右側的檢查器面板有一個小區域供您選擇將文件包含在哪個目標中。只需要「包含」像這樣的實現文件,而不是.h文件)