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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

eclipse开发cocos2dx 3.2环境搭建之二: cocos2dx 3.2安装及测试运行 (An internal error occurred during: “C/C++ Indexe)

發(fā)布時間:2024/4/15 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 eclipse开发cocos2dx 3.2环境搭建之二: cocos2dx 3.2安装及测试运行 (An internal error occurred during: “C/C++ Indexe) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上一節(jié)配置好了NDK環(huán)境,現(xiàn)在主要說說如何在此基礎上搭建cocos2dx 3.2.

之所以要寫著倆篇博文,主要是因為很多書本包括網(wǎng)上大部分都是cocos2dx 2.x版本的,在環(huán)境配置等方面與3.2版本就很大的不同,如果按照2.x版本去配置會出現(xiàn)很多問題和麻煩。cocos2dx 3.2版本的環(huán)境配置網(wǎng)上也有一些,不過有些并不是很準確,另外3.2版本本身有一些問題,網(wǎng)上很多并沒有提到。這倆篇博文是大量參照網(wǎng)上寫到比較全面的博文,并結(jié)合自己的環(huán)境和問題總結(jié)的。

先強調(diào)一下,大家一定要先閱讀一遍cocos2dx安裝目錄下的readme!!關(guān)于cocos2dx的安裝和測試里面其實說的很詳細了,這樣就可以少走些彎路。

下面開始進入正題。再次強調(diào)ndk一定要使用r9d版本!需要準備如下:

1、ant ?這個比較簡單,官網(wǎng)上下載安裝后配置環(huán)境變量即可。

2、python 建議使用2.7版本,據(jù)說高版本會有問題。

3、cocos2dx 3.2

第一步:

安裝ant及python。

ant安裝很簡單,安裝后配置環(huán)境變量即可,注意添加的是“ant目錄\bin”。python其實也一樣,不過python在安裝過程中可以注意一下,在其中一個界面最后一個選項就是環(huán)境變量,默認是不選的,選擇后繼續(xù)安裝就不需要手動去配置了。

第二步:

安裝cocos2dx 3.2。

官網(wǎng)上下載好后解壓縮,命令行運行其下的setup.py。過程中分別需要配置androidsdk、ndk、ant的目錄,其中ant是其根目錄下的bin。配置有錯誤就會提示,需要重新來一遍,不過前面配置成功了就不會再提示配置了。

安裝好后打開cmd輸入cocos,如果顯示幫助信息而非“cocos不是內(nèi)部命令”這樣的,那么就說明安裝成功了。

這部分還有一個問題,我發(fā)現(xiàn)setup.py安裝后會將androidsdk、ndk、ant自己配置到用戶環(huán)境中,并且在用戶環(huán)境path中添加了cocos2dx的bin目錄。正常來說命令行下輸入就可以正常顯示,但是我電腦還是無法正常顯示,具體原因不明,最后只好手動把cocos2dx的bin目錄添加至系統(tǒng)變量的Path中。

第三步:

新建cocos2dx 3.2測試項目。

這部分與2.x版本有一些不同。

運行命令(使用cmd等) ?cocos new 項目名 -p?包名 -l?語言(只有cpp,lua,js可選) -d 工程目錄

例如:cocos new mygame -p com.your_company.mygame -l cpp -d e:\mygame\ ? ? 這個命令就是在e:\mygame\創(chuàng)建mygame 項目,項目的包名為com.your_company.mygame

等一會就可以看到生成的工程文件了,在總目錄下有proj.android,這個就是android的項目文件(其實這個項目是在cocos2dx安裝目錄下的\templates\cpp-template-default\下,只是拷貝過去并改了包名項目名等)。另外在總目錄下還有倆個目錄需要說一下,一個是cocos2d(對應cocos2dx安裝目錄下的cocos文件夾),其下的\platform\android\java需要以“source”的方式引用到項目中,不過項目本身已經(jīng)引用了,但是會有個小問題,以后再說;另外一個是Resources,顧名思義里面是項目的資源文件,如果發(fā)現(xiàn)項目中缺少資源文件,可以將這個目錄下的文件拷貝到項目的assets下。

第四步:

eclipse導入項目。

打開eclipse,在新建項目時選擇“File->New->Other->Android/Android Project from Existing Code”,選擇上步提到的proj.android將項目導入eclipse。

這時就會出現(xiàn)錯誤,這是3.2版本本身的一個小問題。

右鍵->Build Path->Config Build Path,在source下可以看到libcocos2d的路徑是錯誤的,中間多了一個“2d”。這個就是我們上步提到過的,將其改回正確路徑問題就會消失。

第五步:

編譯運行項目。

第一章提到需要自己配置一個ndk的builder,這樣就可以自動進行編譯。cocos2dx的這個測試項目并不需要,打開它的builders就會發(fā)現(xiàn)里面已經(jīng)有了一個“cdt builder”。Run As->Android Application,打包之前會自動進行編譯,注意看日志實際上是運行了一條“python xxxx/CocoTest/proj.android/build_native.py -b release all?”命令,編譯后會在libs下自動創(chuàng)建so文件,然后會自動打包安裝。在手機上就可以看到cocos2dx的運行了!

cocos2dx終于成功搭建好了,途中因為網(wǎng)上的各種誤導遇到了很多問題,花費了不少時間,所以自己想簡單總結(jié)一下。其實最主要的文件就是NDK版本問題,ndk的版本一定要是r9d版本!低的版本會不支持c++11,我試過的包括r8、r9及網(wǎng)上別人試過的r9b都不行。另外網(wǎng)上也有人說r10也不行,反正盡量使用r9d版本。否則會出現(xiàn)很多問題,下面要重點說一下因為版本導致出現(xiàn)的一些問題。

1、低版本ndk無法編譯。

最開始使用的是低版本,運行之后程序直接崩潰,日志顯示java.lang.IllegalArgumentException: Unable to find?
native library: libcocos2dcpp錯誤。其實就是沒有編譯,libs下沒有產(chǎn)生so文件。

網(wǎng)上有很多人建議手動編譯,就是在項目目錄下運行build_native.py,其實根本不管用。因為項目運行時會自動編譯,根本沒必要手動編譯。但是手動編譯就會看到問題所在,提示Android NDK: Invalid APP_STL value: c++_static,就是ndk版本低的原因。

關(guān)于這個其實網(wǎng)上有倆種解決方式,一種就是換成r9d版本的ndk;一種是修改Application.mk,不使用c++_static。個人建議直接換新版本。

2、存在已導入的項目,低版本ndk升級

在ndk r9版本的環(huán)境下導入cocos2dx的測試項目無法編譯,于是自己下載了r9d版本,替換了之后打開eclipse就報出問題了。

問題是An internal error occurred during: "C/C++ Indexer". java.lang.NullPointerExcption,然后發(fā)現(xiàn)elipse該項目下就看不到任何文件。網(wǎng)上一搜竟然沒看到有這樣的問題。凈遇上這種奇葩事,關(guān)閉"C/C++ Indexer"也不行,試了好久都解決不了。

后來覺得可能是項目的問題,于是自己新建了一個項目,簡單的實現(xiàn)ndk里的hellojni,運行正常!

那一定是cocos2dx的測試項目有問題,本身應該沒問題,應該是用低版本的ndk導入并運行過,現(xiàn)在直接換高版本可能導致的。將測試項目刪除,重新用cocos命令生成一個,再導入解決引用bug。沒有任何問題了,編譯運行,一切正常!

就像我多次強調(diào),總之cocos2dx 3.2一定要使用ndk r9d版本!

?

總結(jié)

以上是生活随笔為你收集整理的eclipse开发cocos2dx 3.2环境搭建之二: cocos2dx 3.2安装及测试运行 (An internal error occurred during: “C/C++ Indexe)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。