cocos2d-x學習之旅(二):1.2 cocos2d-x Visual Studio2010 開發環境搭建 windows 7 32位

pamxy發表於2013-11-11

轉自;http://www.cnblogs.com/dekins/archive/2012/08/21/2648387.html

準備工作

1.作業系統:windows xp或windows 7

2.開發環境:visual studio 2008 或 visual studio 2010

我的當前配置:

windows 7 32位(虛擬機器,在顯示卡處記得一定要勾選3d,2d支援,不然open gl es會報錯,真機可忽略)

visual studio 2010 (未安裝sp1)

你可能會有疑問,為什麼要安裝vs開發環境呢?當然這是有原因的,在vs下開發除錯程式碼比較方便,開發速度快當然也是選它的重要原因。我們可以把開發好的專案,拿到ios,android下編譯就可以了,基本上可以做到一處code(遷移到其它平臺上或許需要做少許改動,不過這不是問題),多平臺編譯執行.

第一步:

下載cocos2d-x http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download

選擇cocos2d-2.0-rc2-x-2.0.1

解壓到自定義的英文目錄,我是解壓到D:\cocos2dx-2.0.1

點選install-template-msvc 安裝vs的cocos2d-x模板

clip_image001

成功後點選新建專案的會出現cocos2d-x的模板

clip_image002

第二步:執行HelloWorld

點選 cocos2d-win32.vc2010 啟動vs,執行HelloWorld

clip_image003

執行介面:

不好,崩潰了,程式錯誤,檢視vs的輸出視窗,發現有兩處:

LINK : warning LNK4098: 預設庫“LIBCMT”與其他庫的使用衝突;請使用 /NODEFAULTLIB:library

可是為什麼會出現這個錯誤呢,以下是解釋:

執行時庫現在包含可防止混合不同型別的指令。如果試圖在同一個程式中使用不同型別的執行時庫或使用除錯和非除錯版本的執行時庫,則將收到此警告。例如,如果編譯一個檔案以使用一種執行時庫,而編譯另一個檔案以使用另一種執行時庫(例如單執行緒執行時庫對多執行緒執行時庫),並試圖連結它們,則將得到此警告。應將所有原始檔編譯為使用同一個執行時庫。有關更多資訊,請參見使用執行時庫(/MD、/MT 和 /LD)編譯器選項

別慌,有解決之道。

開啟專案屬性,在“配置屬性-->C/C++-->程式碼生成-->執行時庫”中將“多執行緒(/MT)”修改為“多執行緒除錯(/MTd)” ,再重新編譯除錯一下,這個問題解決。

再次編譯執行,不好,程式又崩潰了,這次報出的錯誤為:

First-chance exception at 0x00000000 in HelloWorld.exe: 0xC0000005: Access violation reading location 0x00000000.

Unhandled exception at 0x00000000 in HelloWorld.exe: 0xC0000005: Access violation reading location 0x00000000.

彆著急,好事總是多磨,以下是解決辦法:

開啟libcocos2d->include->ccConfig.h檔案,搜尋 CC_TEXTURE_ATLAS_USE_VAO ,將1改為0.

再次疑問,為什麼會出現這個錯誤呢?

跟蹤了下原始碼,發現原來是CC_TARGET_PLATFORM這個變數判斷只支援32位,自然當我在64位的windows7上執行時沒有出現這個錯誤 ,建議把 CC_TEXTURE_ATLAS_USE_VAO修改為0。

下面是CC_TEXTURE_ATLAS_USE_VAO處的說明:

預設情況下,CCTextureAtlas(許多cocos2d類)將使用VAO(頂點陣列物件)。

蘋果建議其使用,但他們可能會消耗大量的記憶體,特別是如果你大量使用時。

因此,對於某些情況下,您可能需要數百VAO物件,它可能是一個好主意來禁用它。

慢慢的處理這些問題,千萬不能煩燥,再次編譯執行,成功了,真是皇天不負苦心人!

clip_image004

再編譯執行下官方的tests例項,成功出現程式介面.

clip_image005

第三步:

新建 自已的第一個cocos2d-x專案,在cocos2d-win32.vc2010的解決方案上面點選右鍵,選擇新建專案,

彈出的選擇框裡面選擇cocos2d win32 application

注意:專案的位置不要改動,名稱可自定義。

clip_image006

現在編譯除錯下剛剛建好的demo,出現成功的介面,ok.萬里長征第一步算是開始了。

clip_image007

 

備註:

共同學習,若有不正確之處,歡迎指出。轉載請註明來處:www.cnblogs.com/dekins


相關文章