2014-04-12 142 views
1

我有工作在cocos2d-x v3的麻煩。其實,我想初始化box2d world object。 我已經正確創建了我的遊戲項目,因爲它在cocos2d-x手冊中給出。 現在有什麼麻煩:cocos2d-x和box2d鏈接錯誤

b2Vec2 gravity = b2Vec2(0.0f, -10.0f); 
b2World world(gravity); 

在這種代碼的第二行給出了編譯器

'unresolved external symbol error':(

沒有instantinating b2World對象,一切編譯和工作正常。

有沒有人遇到過這個問題?

+0

第二行看起來不正確的c + +(缺少'新',結果沒有分配給變量)..你遺漏了什麼嗎?應該是這樣的:b2World * world = new b2World(gravity);但世界也應該是一個成員變種。 – LearnCocos2D

+0

我試圖做兩個變種。但仍然沒有工作,我得到鏈接錯誤。標題「Box2D \ Box2D.h」我也包括在內。 – l1fe

+0

@ LearnCocos2D,您是否確實知道在C++中有兩種類型的初始化和賦值變量?你剛剛告訴我在堆上創建變量時創建了變量。問題不在於此,問題在於某種聯繫。 – l1fe

回答

3

這是Visual Studio中非常常見的鏈接器錯誤,您必須在項目屬性中添加libbox2d.lib

Right Click Project -> Project Properties -> Linker -> Input -> Additional Dependencies

現在編輯,然後再添加libbox2d.lib末和運行項目。

+0

我在哪裏可以找到libbox2d.lib?我添加這個作爲額外的依賴項,所以這是我的依賴列表Input-> AdditionalDependencies:libbox2d.lib;%(AdditionalDependencies) 現在,當我嘗試編譯時,我收到LNK1104錯誤:無法打開文件libbox2d.lib。 p.s.我正在使用cocos2d-x 3.0rc1 – l1fe

+0

您必須將'libBox2D'項目添加到您的解決方案中。添加後編譯它,lib文件將自動生成。之後運行你的項目。您可以在示例中使用TestCpp項目的示例。 –