日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

cocos2d-x for android配置 运行 Sample on Linux OS

發布時間:2023/12/2 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cocos2d-x for android配置 运行 Sample on Linux OS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.從http://www.cocos2d-x.org/download下載穩定版 比如cocos2d-x-2.2

2.解壓cocos2d-x-2.2.zip,比如本文將其解壓到 /opt 目錄下

3.運行 android-buildsetup.sh,運行之前需要先設置3個環境變量,如將以下變量寫到文件 /etc/profile中

export ANDROID_SDK_ROOT=/opt/android-sdk-linux export ANDROID_NDK_ROOT=/opt/android-ndk-r9b export COCOS2DX_ROOT=/opt/cocos2d-x-2.2 export PATH=$COCOS2DX_ROOT:$ANDROID_NDK_ROOT:$ANDROID_SDK_ROOT:$PATH

然后:

$ cd /opt/cocos2d-x-2.2/tools $ ./android-buildsetup.sh

2.2.3版本需要采用如下的方式運行:(如果按照上面的運行話,腳本還給出了提示,贊,這個比較人性化)

$ cd ./tools/android-buildsetup.sh lbq:/opt/cocos2d-x-2.2.3.$ ./tools/android-buildsetup.sh

即改成需要在根目錄下運行

android-buildsetup.sh的主要目的是將android sdk與ndk的目錄路徑寫到各個sample工程的local.properties文件中.

成功運行,如下圖所示:

4.接著編譯JNI,與普通的Andorid工程不同的是,不是進入android工程中的JNI目錄,然后運行ndk-build,如果這樣運行,會出現如下的錯誤:

$ cd /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android/jni $ ndk-build Android NDK: /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android/jni/Android.mk: Cannot find module with tag 'cocos2dx' in import path Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ? Android NDK: The following directories were searched: Android NDK: /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android/jni/Android.mk:19: *** Android NDK: Aborting. . Stop.

而應該是:

$ cd /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/proj.android $ ./build_native.sh

如果正確的話,就會產生.so文件

5.但是如果您的NDK版本不是最新或者不購新的話(至少是r6以上,不包括r6版本),則會出現如下的錯誤:

/opt/cocos2d-x-2.2/cocos2dx/platform/android/CCGL.h:47: error: 'PFNGLGENVERTEXARRAYSOESPROC' does not name a type /opt/cocos2d-x-2.2/cocos2dx/platform/android/CCGL.h:48: error: 'PFNGLBINDVERTEXARRAYOESPROC' does not name a type /opt/cocos2d-x-2.2/cocos2dx/platform/android/CCGL.h:49: error: 'PFNGLDELETEVERTEXARRAYSOESPROC' does not name a type

網上也能查到很多這樣的錯誤,也都是說NDK版本低的原因。

剛開始我更新了NDK版本并且重新執行了步驟3,但是還會出現以上的錯誤,

后來發現,是因為build_native.sh這個Shell腳本寫的有問題:

# write local.properties if it doesn't already existif [ -f "$_LOCAL_PROPERTIES_FILE" ]thenecho "$_LOCAL_PROPERTIES_FILE exists. skipping overwrite"elseecho "writing $_LOCAL_PROPERTIES_FILE"echo -e "$_CONTENTS" > "$_LOCAL_PROPERTIES_FILE"fi

看到了沒,寫local.properties當且僅當local.properties文件不存在的時候,所以只要一開始運行過一次android-buildsetup.sh,那么那些android工程下local.properties就不會被更新,所以需要修改下android-buildsetup.sh這個腳本,每次運行都強制寫local.properties文件:

# write local.properties wether if is exist # if [ -f "$_LOCAL_PROPERTIES_FILE" ] # then # echo "$_LOCAL_PROPERTIES_FILE exists. skipping overwrite" # elseecho "writing $_LOCAL_PROPERTIES_FILE"echo -e "$_CONTENTS" > "$_LOCAL_PROPERTIES_FILE" # fi

這樣,就徹底搞定了。

6./opt/cocos2d-x-2.2/cocos2dx/platform/android這個是cocos2dx引擎的代碼,很多sample工程都要引用這個lib

7.HelloCpp的“夢書”(原來是"Hello World"修改了下)二字來自 /opt/cocos2d-x-2.2/samples/Cpp/HelloCpp/Classes 下的HelloWorldScene.cpp文件

CCLabelTTF* pLabel = CCLabelTTF::create("夢書", "Arial", TITLE_FONT_SIZE);

代碼很像Object C不是。--- 不過目前每次clean都會連cocos2d-x的引擎代碼C++部分一起重新編譯,很慢哦

?

參考:

1. https://github.com/cocos2d/cocos2d-x

2.How to setup Cocos2d-x (Windows and Android)

轉載于:https://www.cnblogs.com/mengshu-lbq/p/3435434.html

總結

以上是生活随笔為你收集整理的cocos2d-x for android配置 运行 Sample on Linux OS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。