(轉)Windows7 64位系統搭建Cocos2d-x 2.2.1最新版以及Android交叉編譯環境(詳細教程) .

聲明:本教程在參考瞭如下博文,並通過本身的摸索後實際操做得出,本教程系本人原創,因爲升級後的cocos2d-x有了一些變化,目前的博文尚未關於Cocos2d-x 2.2.1最新版搭建Android交叉編譯環境組建的說明,因此我這幾天研究了一下,如今將具體的搭建方法分享出來,也給本身學習Cocos2d-x作個筆記。

參考博文:

http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html
http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html
http://www.douban.com/note/229610750/
http://www.cnblogs.com/dekins/archive/2012/08/22/2650131.html

 

本文地址:

 

http://blog.csdn.net/sttyytw/article/details/17005263


 

若是轉載,請註明出處!

 

本文搭建環境

 

系統:win7 64位 旗艦版 原版
軟件:只裝了系統的半裸機

 
你們只要按照步驟耐心操做,環境的搭建就不會產生一些莫名其妙的錯誤

 

預備下載的軟件(爲了方便,軟件安裝包請放在一個文件夾下)html

請你們先行下載,但不要安裝,一步一步的來java

 

一、cocos2d-x2.2.1  2013年11月19日更新python

 

cocos2d-x遊戲引擎開發環境,你們都懂的linux

 

下載地址:(這個不用說了吧,搭建cocos2d-x的平臺會不知道哪裏下代碼?好吧,仍是貼上)android

 

http://www.cocos2d-x.org/download編程

 

 

 

 

 

 



 

 

 

 

二、VisualStudio 2012windows

 

cocos2d-x須要的IDE編譯環境,網上隨便下,這裏提供一個下載地址bash

 

下載地址:http://pan.baidu.com/share/link?shareid=90168&uk=2769186556eclipse

 

密鑰:YKCW6-BPFPF-BT8C9-7DCTH-QXGWCpython2.7

 

三、python

 

cocos2d-x2.0版本之後用python腳原本建立工程,因此須要python環境

 

下載地址:http://www.python.org/download/

 

注意:請下載python2.7.6  64位版本,不要下3.3的版本

 


 

 

以上是組建cocos2d-x編譯環境所須要的軟件,接下來是android交叉編譯所須要的軟件

 

四、java

 

java環境是必須的,這個在官網上下載便可,注意要選擇64位版本

 

下載地址:http://www.java.com/zh_CN/download/manual.jsp

 

 

 

五、Android SDK

 

這個是android交叉編譯必須的IDE環境,內含Eclipse

 

下載地址:http://developer.android.com/sdk/index.html

 

 

 

六、Android NDK

 

android交叉編譯時,對C/C++代碼的解釋編譯工具

 

下載地址:http://developer.android.com/tools/sdk/ndk/index.html

 

 

 

七、cygwin

 

對cocos2d-x本地C/C++代碼的解釋編譯工具

 

下載地址:http://cygwin.com/install.html

 

 

 
八、EditPlus
 

這是個文本編輯軟件,方便咱們對以後的sh文件進行編輯


下載地址:http://www.pc6.com/softview/SoftView_36775.html


注意:sh等linux文件在用windows記事本打開時,輸入的回車格式與linux回車格式不一樣,會形成錯誤。


這個軟件是推薦你們使用的,你們能夠自行選擇

 
至此咱們所須要的軟件都已經準備完畢,接下來能夠開始正式搭建環境了
 
———————————————————————————————————
 
 

一、安裝VisualStudio2012

 

對VS2012_ULT_chs.iso文件進行解壓,安裝,對安裝程序一路狂點。。。。。

 

像這種編程環境最好裝在系統盤內,省得以後出各類莫名其妙的錯誤。等了一段時間,終於安裝完畢。
 

二、用VisualStudio組建cocos2d-x的Windows編譯環境

 

將下載好的cocos2d-x-2.2.1放在英文路徑下,注意,英文路徑不要有空格

 

例如:個人目錄配置D:\study\cocos2d-x\cocos2d-x-2.2.1

 

在cocos2d-x-2.2.1目錄下找到Visual Studio2012的sln文件,打開
 

 
等待Visual Studio加載解決方案
 
在解決方案上點右鍵,而後點生成解決方案,或者按F7,等待vs編譯生成本地obj
 

 
第一次編譯會比較慢,耐心等待一下
 

 

等了將近10分鐘,終於編譯好了,咱們來嚐嚐鮮,試着運行HelloCpp,看到那個熟悉的HelloWorld界面

 

在HelloCpp項目上面點擊右鍵,而後選擇調試->啓動新實例

 

 

接着程序開始自動編譯了,運氣好的話應該能夠看到牛X的HelloWorld的界面了

 

 

在這裏我遇到了一個小問題,因爲是新系統,還沒有安裝顯卡驅動,因此編譯時提示OpenGL的版本過低,這時候只須要用驅動精靈或是相似的驅動軟件更新一下本身的顯卡驅動就沒有問題了。

 

 

三、建立本身的HelloWorld工程

 

接下來就要建立本身的Cocos2d-x HelloWorld項目,這是全部遊戲編寫的開端。好的,這時咱們就要用到python環境了。安裝咱們已經下載好的python-2.7.6.amd64,選擇默認路徑。

 

 

 

安裝完畢,咱們接下來使用python命令建立本身的cocos2d-x工程。

 

首先須要設置python的系統環境,因爲剛纔是默認安裝,因此python的安裝路徑爲C:\Python27\,你們能夠手動在開始->計算機(在上面點右鍵)->屬性->高級系統設置->環境變量中設置path路徑,添加python的安裝目錄,不過我我的比較喜歡用cmd的wmic命令改變環境變量。(順便提一句,你們能夠用一個批處理將本文全部涉及環境變量的設置都用wmic命令寫入。)

 

好了,win+R運行cmd,輸入下列命令

 

wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\Python27"

注意以上命名爲一行

 

而後從新打開cmd,輸入python,結果發現python不是內部命令,再輸入命令:

 

echo %path%

 

發現沒有剛纔咱們設置的python目錄,怎麼回事?其實這裏是環境變量沒有更新的緣故,你們再設置完後,仍是要進入開始->計算機(在上面點右鍵)->屬性->高級系統設置->環境變量,而後什麼都不用改,直接點肯定,再回來cmd查看path目錄,這才發現已經出現咱們設定的python目錄了。有的童鞋確定會問,既然仍是要進入環境變量設置界面,我幹嗎不直接在裏面設置不就好了嗎,還要這麼麻煩幹什麼?這樣最爲直接。

 

可是我是不喜歡path那一長條的輸入框,拖過來拖過去的,並且分號什麼的路徑寫入容易出錯,因此建議你們仍是多采起命令的形式比較好一點

 

好了,趕忙試一下咱們的配置是否正確吧。輸入命令:

 

python -?

 

而後balabala...出現一堆,這就說明咱們的python配置好了。

 

接下來使用python建立工程。進入cocos2d-x-2.2.1目錄下的tools->project-creator,你們能夠看到有一個create_project.py腳本,若是有興趣的童鞋能夠右鍵在IDE中打開來看看,從中能夠截取到該腳本的使用方法

 

 

 

好了,咱們趕快將這個腳本使用起來吧

 

在project-creator目錄下按住shift+鼠標右鍵,選擇在此處打開命令窗口,輸入命令:

 

python create_project.py -project HelloWorld -package org.HelloWorld.game -language cpp

 

而後等待結果

 

 

你們能夠看到,咱們的工程建立完畢了,其中,HelloWorld是咱們命令中輸入的工程名,也就是在cocos2d-x-2.2.1->Projects文件夾下建立了咱們的工程,名字就是HelloWorld,在HelloWorld文件夾下的proj.android文件夾就是咱們以後須要編譯的android項目,建立命令後面的org.HelloWorld.game是安卓APK的識別名,你們能夠按照「xxx.xxx.xxx」的格式本身命名

 

這裏我寫了一個bat批處理,你們能夠放在project-creator目錄下,之後能夠很方便的建立工程

 

在project-creator目錄下點右鍵建立一個文本文檔,打開,將如下內容複製進去,而後點保存,更改文件的後綴名爲bat便可

 

-----------------------------------------------------------------------------------------

@echo off
:label1
@cls
echo 歡迎使用Python建立Cocos2d-x工程
set /p project=請輸入須要建立的工程名:
set /p aID=請輸入須要建立的android版本包標識名:
echo 您輸入的工程名爲%project%
echo 您輸入的android版本包標識名爲%aID%
echo 確認建立工程嗎?
CHOICE /C 123 /M "確認請按 1,取消請按 2,或者退出請按 3。"
echo %errorlevel%
if %errorlevel%==1 goto label2
if %errorlevel%==2 goto label1
if %errorlevel%==3 goto label3
:label2
echo 正在建立工程...
python create_project.py -project %project% -package %aID% -language cpp
:label3
pause

-----------------------------------------------------------------------------------------

注意只需複製以上紫色部分

 

回到Visual Studio2012,在解決方案上點擊右鍵,點添加->現有項目

 

 

而後在這個目錄(cocos2d-x-2.2.1\projects\HelloWorld\proj.win32)下找到HelloWorld.vcxproj

 


 

點擊打開

 


 

能夠看到咱們的HeloWorld已經添加進咱們的工程中了。好了,還等什麼,編譯一下吧。這裏提一句,咱們能夠將HelloWorld設置爲啓動項目,這樣每次調試的時候就能夠方便的點擊「本地Windows調試器」進行調試,而不是每次都得啓動新實例。在HelloWorld上點右鍵,能夠找到「設爲啓動項目」這一欄。

 


 

設置完成後咱們會發現咱們的HelloWorld加粗了,好了,運行一下試試
點本地Windows調試器,彈出窗口,選擇再也不顯示此對話框,而後點是

 


 

等待編譯,而後就會輸出HelloWorld窗口了,此次是「小瓶」的,呵呵!

 


 

好了,以上咱們已經將本身的工程建立好了!


接下來要來配置cocos2d-x在win7下的android交叉編譯環境


四、安裝java,設置java環境


android環境的搭建少不了java這玩意,選擇默認路徑安裝好後即可以用wmic命令向系統添加java的環境變量了,win+R運行cmd,輸入如下三個命令


wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="C:\Program Files\Java\jre7"

以上爲一行
wmic ENVIRONMENT create name="CLASSPATH",username="<system>",VariableValue=";%JAVA_HOME%\lib\;"

以上爲一行
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\Program Files\Java\jre7\bin"

以上爲一行


而後進入系統環境變量設置界面更新一下,重啓cmd,試一下輸入java,只要不是出現「java不是內部命令或外部命令」之類的,就表示你設置成功了。


五、安裝cygwin與配置Android NDK


運行下載好的cygwin-setup-x86_64.exe,看到下列安裝界面

 


 

點擊下一步



繼續



 
默認路徑安裝,而後選擇下載保存的路徑,這個你們能夠本身配置,安裝完畢後最好作個備份,省得再次須要安裝時還要下載,國內的網速下載仍是比較蛋疼的~~~~~

 


 

默認選擇,下一步



選擇第一個網站



這裏你們注意了,必定要將紅框標出來的點擊一下,變成install

 


 

點擊下一步,漫長的等待下載~~~~~~


終於安裝完畢,咱們趕忙打開來試試吧


第一次點開cygwin目錄會在c:\cygwin64\home文件下生成以系統登陸帳戶爲名字的文件夾

 



而後在咱們下載的軟件裏找到Editplus軟件,默認安裝後就能夠將任何文本文件以Editplus軟件打開

 

如今,將咱們下載下來的Android NDK也就是android-ndk-r9b-windows-x86_64.zip解壓縮至英文路徑下,這個路徑將會在接下來寫入到cygwin的.bash_profile配置文件中,好了,個人解壓路徑爲:D:\study\android\IDE\
注意:該路徑不能存在空格,全英文


你們在c:\cygwin64\home文件下生成的以系統登陸帳戶爲名字的文件夾下找到.bash_profile文件,點擊右鍵,用EditPlus軟件打開,在結尾處輸入回車,接着輸入下列語句:


NDK_ROOT=/cygdrive/d/study/android/IDE/android-ndk-r9b

export NDK_ROOT

以上爲兩行

 



而後點擊保存,關閉。這裏的cygwin是指本地磁盤,d是d盤,後面是NDK路徑,你們按照本身的文件路徑填寫,注意windows路徑中「\」和cygwin中「/」的區別。順便提一句,目錄一直要寫到有ndk-build.cmd文件的文件夾


接着用EditPlus打開C:\cygwin64\etc文件夾下的bash.bashrc文件,在結尾處輸入回車,輸入本身的cocos2d-x工程的文件夾路徑(還記得咱們以前建立的HelloWorld工程嗎?),注意,這一步不是必要的,完成的功能是在每次打開cygwin的時候不用去輸入完整路徑跳轉至你的工程文件夾下。好了,個人路徑配置爲:


cd d:/study/cocos2d-x/cocos2d-x-2.2.1/projects/HelloWorld/proj.android

以上爲一行

 

你們能夠根據本身的路徑改變,之後新建工程時也要記得改變本身的編譯路徑。仍是要提醒你們注意windows路徑中「\」和cygwin中「/」的區別。


重啓cygwin,你們能夠發現當前路徑已經變成了咱們設置的路徑了

 


 

好了,輸入ls命令,會發現一個build_native.sh的文件,這就是咱們須要用NDK編譯的文件了

 



接着輸入如下命令:
./build_native.sh

以上爲一行

 

若是順利的話(仔細按照步驟來的話是沒有什麼問題的),就能夠看到咱們的NDK開始辛勤的編譯cocos2d-x的一些本地C++代碼了~~~~~又是漫長的等待。


編譯完成後就能夠退出cygwin了


這是完成後的最後界面的截圖,若是你能看到這個界面的話就表明本步驟順利完成。

 


 

六、安裝Android SDK,配置Android的Eclipse編譯環境


找到咱們下載的adt-bundle-windows-x86_64-20131030.zip,解壓,路徑你們能夠本身配置,仍是注意英文路徑,不加空格便可。


接着運行adt-bundle-windows-x86_64-20131030\eclipse下的eclipse(ADT自帶Eclipse編譯環境),選擇工程文件夾,這裏能夠隨意配置

 


 

接着關掉說明頁,進入主界面。在主界面點擊配置SDK

 


 

而後你們能夠按照需求選擇Android SDK的版本,這裏我選擇下載Android(API 8),而後選擇安裝

 




 

慢慢等待下載安裝結束。


接下來配置Android VDM

 


 

而後選擇DeviceDefinitions,隨便選擇一個建立,好像是如今的VDM不支持OpenGL的高版本,因此我使會用BlueStacks模擬器來調試,這裏只是生成apk

 


 

七、編譯Android項目


好了,以上咱們全部的環境都已搭建完成,在將咱們的項目導入eclipse以前,咱們還須要將cocos2d-x-2.2.1\cocos2dx\platform\android\java\src下的org文件夾拷貝至咱們的項目中,也就是cocos2d-x-2.2.1\projects\HelloWorld\proj.android\src下,因爲咱們以前建立項目時定的android包名前面也是org,因此會有覆蓋選項,你們請選擇合併覆蓋便可

 

那是否是每次編譯安卓項目是都要複製這個包過來呢?實際上是不用的,這個放在文章的末尾來討論


接着,回到eclipse環境,導入項目

 




 

注意在選擇路徑時寫到HelloWorld文件夾下便可

 

導入工程後,在工程HelloWorld上點選右鍵,選擇Properties

 


 

選擇builders,點擊New

 


 

選擇program

 


 

而後在接下來的界面中的

 

name欄輸入:Native_Builder

 

Location欄輸入:C:\cygwin64\bin\bash.exe

 

Arguments欄輸入:--login -c "cd /cygdrive/d/study/android/IDE/android-ndk-r9b && make APP=HelloWorld"

以上爲一行

 

Arguments欄中,login前有兩個"-"符號,中間的目錄設置參考前面教程中對NDK_ROOT的路徑設定,後面的HelloWorld爲建立的工程名,這個根據本身建立的工程名設定。

 

提示:若是不是按照默認路徑安裝的,請選擇Browse File System,找到相關的路徑

 


 

選擇OK,選中Native_Builder,並將其調到最上面

 


 

而後選擇C/C++ Build->Environment->Add

 


 

接下來在Name欄輸入path,在Value欄輸入C:\cygwin64\bin

 


 

而後在Java Build Path裏面選擇Libraries欄,將Android Dependencies以及Android Private Libraries兩個library刪掉

 


 

說明一下,以上咱們是將cygwin的編譯環境合併到了Eclipse裏,Eclipse利用cygwin並調用cygwin的bash以及make,經過NDK來編譯咱們的Android程序,因此每次導入新的工程都要將上述步驟從新配置一下,這點很是重要,若是配置不正確,會致使不少莫名其妙的報錯,最典型的錯誤就是提示找不到bash命令什麼的~~~~

 

好了,如今咱們能夠生成APK文件了,在主界面選中本身的工程,而後在命令條上選擇Run->Run as->Android Application

 


 

若是以上步驟都按照教程設定的話,就可以生成APK了,APK存放在proj.android->bin文件夾下

 

快將APK裝在本身的真機上進行測試吧!!!!!

 

以上編譯環境就配置結束了。

——————————————————————————————————

 

深刻討論問題:每次在編譯Android項目以前是否是都要將cocos2d-x-2.2.1\cocos2dx\platform\android\java\src下的org文件夾拷貝至咱們的項目中呢?

其實否則,你們能夠發現,每次咱們執行./build_native.sh時,proj.android文件夾中的Resource裏面的內容都會複製到assets文件夾中,因此咱們能夠稍微修改一下sh文件就能夠免去每次建立項目的時候都要拷貝一遍本地編譯庫的操做

方法:

 

一、在C:\cygwin64\home\「本身的用戶名」\文件夾下找到.bash_profile

 

二、用EditPlus打開編輯

 

三、在文件末尾輸入回車,加入如下路徑設定

 

COCOS2DX_DIR=/cygdrive/d/study/cocos2d-x/cocos2d-x-2.2.1

export COCOS2DX_DIR

以上爲兩行

 


 

而後在\cocos2d-x-2.2.1\template\multi-platform-cpp\proj.android目錄下找到原生的build_native.sh,咱們用EditPlus打開對它進行修改

 

在36行找到這句話,這句話是對NDK_ROOT的路徑進行判斷

 


 

咱們在後面加入同樣的語句,只是將NDK_ROOT替換爲咱們設定的目錄,也就是COCOS2DX_DIR

 


 

而後再繼續向後翻,在50行這裏加入

 

echo "COCOS2DX_DIR = $COCOS2DX_DIR"

 


 

接着在後面咱們發現了這樣的語句

 


 

嘿嘿!!!!你們看出來了吧,這句話就至關於複製文件了,好了,咱們依葫蘆畫瓢吧~~~~

 


 

也就是在後面加上以下語句:

 

for file in "$COCOS2DX_DIR"/cocos2dx/platform/android/java/src/*
do
if [ -d "$file" ]; then
    cp -rf "$file" "$APP_ANDROID_ROOT"/src
fi


if [ -f "$file" ]; then
    cp "$file" "$APP_ANDROID_ROOT"/src
fi
done

 

OK,文件修改完畢,你們記得保存哦!

 

這樣修改了以後,在你們從新建立工程時,cocos2d-x的python腳本就會將template\multi-platform-cpp文件夾下的內容稍加修改(主要是項目名稱的修改)後直接複製到咱們的工程裏,這樣咱們修改後的文件就可使用了,哈哈!

———————————————————————————————————

教程到此就結束了,若是你們對本教程有任何問題,或者有什麼錯誤之處,敬請你們指出!也歡迎你們對Cocos2d-x環境的搭建提出好的建議。

相關文章
相關標籤/搜索