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


准備工作

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM