亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cocos2dx基礎篇(2)——Win32移植到Android

發布時間:2020-06-14 12:18:41 來源:網絡 閱讀:3278 作者:shahdza 欄目:移動開發

【安裝工具】

   JDK

   Eclipse 或直接下一個 ADT集成開發工具

       SDK

       NDK9r

       ADT

       CDT

   安裝方法自行百度。


【正文】

   1、由 Cocos2D-X 和 VS2010 環境配置——1 中提到的python方法,創建新項目。

   然后將你開發好的win項目相應的文件Classes和Resources文件夾里的東西分別拷貝到剛創建的新項目中相應的 Classes assets 文件夾中去。

   2、使用Eclipse將新項目中的pro.android導入。

cocos2dx基礎篇(2)——Win32移植到Android


   3、修改Android.mk

        將你Classes里的cpp都包進來。

        并且在 include $(BUILD_SHARED_LIBRARY) 下面添加如下兩行:

        $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3)

        $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt)

cocos2dx基礎篇(2)——Win32移植到Android


   4、修改項目的參數

cocos2dx基礎篇(2)——Win32移植到Android


   5、下面是bash,如果你的ndk版本低于r8,那么就需要再下個cywin了。

cocos2dx基礎篇(2)——Win32移植到Android

        MAC的是這個(沒有 .cmd 后綴)。

cocos2dx基礎篇(2)——Win32移植到Android


   6、導入一些資源文件

       D:\Android\tools\cocos2d-x-2.2.3\CocosDenshion\include

       D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\include

cocos2dx基礎篇(2)——Win32移植到Android


   7、在C/C++ Build 中的 Environment 里 Add 一個變量。

       NDK_MODULE_PATH

       D:\Android\tools\cocos2d-x-2.2.3;D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt

cocos2dx基礎篇(2)——Win32移植到Android


   8、然后就可以點擊導航欄中的 cocos2dx基礎篇(2)——Win32移植到Android , 開始編譯了。。。

cocos2dx基礎篇(2)——Win32移植到Android


   9、編譯完之后,項目的bin中就多了一個apk文件。這樣一直就成功了。。。

cocos2dx基礎篇(2)——Win32移植到Android


   10、在手機上跑跑看。。。

cocos2dx基礎篇(2)——Win32移植到Android





【問題】

如下有幾個配置過程中可能出現的錯誤。。。


Q1:Program "bash" not found in PATH

A1:D:\Android\tools\android-ndk-r9d\ndk-build.cmd

       如果你的ndk版本低于r8,那么就需要下載cywin,具體過程自己百度。    


Q2:The import org.cocos2dx.lib cannot be resolved

A2: 沒有引入相應的包。

       Project Properties -> Java Build Path -> Source -> Link Source ->  "D:/Android/tools/cocos2d-x-2.2.3/cocos2dx/platform/android/java/src"


Q3:Symbol 'CocosDenshion' could not be resolved

A3:沒有引入源文件的原因。

       Project Properties -> C/C++ General -> Path and Symbols -> Includes -> GNU C++ -> Add -> "D:\Android\tools\cocos2d-x-2.2.3\CocosDenshion\include"

       然后加下面兩句話即可。

           #include "SimpleAudioEngine.h"

           using namespace CocosDenshion;


Q4:Type 'std::string' could not be resolved

A4:android本身是不支持C++的STL的,所以你需要加入一些C++的STL的庫函數

       詳情見 錯誤5。    

       然后加上兩句,就可以用了。

           #include <string>

           using namespace std;


Q5:Invalid arguments ' Candidates are: void * memcpy(void *, const void *, ?)

A5:為何會有“?”呢。。。

       查看原形 extern void*  memcpy(void *, const void *, size_t);

錯誤提示中:Invalid arguments,意味著參數無效,很明顯是size_t這個參數不被正常識別造成的。

源于此分析,那么凡是使用size_t類型參數的方法均會出現這個問題,例如:memset,memccpy,memchr,memcmp等。

解決方案:

       右擊項目工程properties -> C/C++ General -> Paths and Symbols ->

       選擇 "Includes" 標簽的 GNU C++。Add下面兩個路徑:

               D:\Android\tools\android-ndk-r9d\platforms\android-19\arch-arm\usr\include

               D:\Android\tools\android-ndk-r9d\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include

       如此,該問題可解。

       備注說明:

           還可在將以下兩個頭文件庫添加到項目的include中:

           里面有一些其他的C++頭文件和STL的頭文件。。。

           D:\Android\tools\android-ndk-r9d\sources\cxx-stl\gnu-libstdc++\4.8\include;

           D:\Android\tools\android-ndk-r9d\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include;


Q6:*** Android NDK: Aborting.    .  Stop.

A6:修改項目的jni文件夾下的Android.mk。

        在 include $(BUILD_SHARED_LIBRARY) 下面添加如下兩個:

    $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3)

    $(call import-add-path, D:\Android\tools\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt)


Q7:The connection to adb is down, and a severe error has occured.

A7:cmd跳到sdk tools文件路徑下;adb kill-server;然后再adb start-server;重啟Eclipse。


Q8:Type 'xxxx' could not be resolved

A8:修改工程的indexer屬性就OK了

cocos2dx基礎篇(2)——Win32移植到Android


Q9:Unable to resolve target 'android-8'

A9:原因是沒有android-8的SDK,打開Android項目中的project.properties,將target改成你電腦中擁有的SDK版本API。如我這里有API 10和API 19。那么將其改成android-10或android-19即可。

cocos2dx基礎篇(2)——Win32移植到Android


Q*、其實其他的錯誤都和上面的錯誤很類似,有什么錯,基本都是沒有加頭文件引起的。。。


歡迎大家提供其他的錯誤。。。。







向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高州市| 固安县| 海伦市| 九龙城区| 全椒县| 孟津县| 兴义市| 宜川县| 大渡口区| 临邑县| 房产| 白水县| 韶山市| 淮安市| 石景山区| 武威市| 滕州市| 博乐市| 宁津县| 清原| 明溪县| 新邵县| 贵州省| 利辛县| 西充县| 晋宁县| 镇康县| 黄平县| 甘洛县| 紫金县| 黑水县| 旺苍县| 防城港市| 汶上县| 东港市| 霸州市| 南皮县| 永靖县| 广南县| 阳信县| 社会|