1.将cocos2d-x相关的软件包拷贝到linux下。
2对上面的安装包进行解压
unzipcocos2d-x-2.2.3.zip
unzipcocos2d-x-3.2.zip
3执行cocos2dx-2.2.3/install-deps-linux.sh(执行这个命令需要有网络)
4安装QT,命令:sudo apt-get install qt-sdk
5在cocos2dx-2.2.3目录下,执行./make-all-linux-project.sh
6要让64位的linux能运行32位的adb,aapt工具,需要安装以下软件
sudo apt-get install git ssh vim cTagsqt-sdk build-essential libx11-dev libxmu-dev libglu1-mesa-dev libgl2ps-devlibxi-dev libglfw-dev libzip-dev libcurl4-gnutls-dev libFontconfig1-devlibsqlite3-dev libglew*-dev openjdk-7-jdk lib32z1 lib32ncurses5 lib32bz2-1.0lib32stdc++6
7创建一个空项目tank,进入:
/home/toto/cocos/cocos2d-x-2.2.3/tools/project-creator
执行以下命令:
./create_project.py -project tank -languagecpp -package com.toto.tank
8拷贝window下的Resource和Classes,并将它们放到项目目录下,将tank目录下的Classes和Resources这个两个文件夹删除并将开发好的项目中的Classes和Resource放到tanke目录下。
9打开QT,执行以下几个过程:
5) create-project.py创建工程tank cd tools\project-creator ./create-project -project tank -language cpp -package com.toto.tank cd ../../projects/tank/proj.linux make-- release 版本 ./build.sh-- deBUG 版本 6)执行编译出来的程序 tank /proj.linux/bin/release/ tank--release版本 tank /proj.linux/bin/deBUG/ tank--deBUG版本
7)配置QTcreator a.打开QTcreator创建工程 file->new -> import project -> import existing project b.填写project名 c.选择源文件代码目录,这个目录是cocos2dx-2.2.3 d.设置筛选条件,去掉一些不用的目录 e.点next完成项目创建
8)配置QTcreator项目 a.build目录,把build改称你的工程目录下的proj.linux b.修改build Steps把原有的make all删除,点击add build steps添加新命令build.sh |
fileàNewfile Or Projectà
填写项目名,选择路径,注意这里的路径是cocos2d-x的根路径
点击Next(注意勾掉自己不需要的东西)
10设置编译路径
路径是:/home/toto/cocos/cocos2d-x-2.2.3/projects/tank/proj.linux
上面是编译deBUG的版本的,通过最还是最上面的Rename可以将Default这个名字改成deBUG名字。下面在添加一个release的。
11修改makefile文件
进入pro.linux目录下,列出所有的.cpp文件
12修改makefile
13从cocos2d-x中提供的tstCPP中拷贝我们想要的makefile中的内容
EXECUtable = tank COCOS_ROOT = ../../..
#添加下面的内容 INCLUDES = -I.. -I../Classes \ -I$(COCOS_ROOT)/CocosDenshion/include \ -I$(COCOS_ROOT)/extensions/ \ -I$(COCOS_ROOT)/external/ \ -I$(COCOS_ROOT)/external/chipmunk/include/chipmunk
#修改要编译的头文件 SOURCES = main.cpp \ ../Classes/AI.cpp \ ../Classes/AppDelegate.cpp \ ../Classes/Bullet.cpp \ ../Classes/Item.cpp \ ../Classes/LayerGame.cpp \ ../Classes/LayerMenu.cpp \ ../Classes/LayerSetup.cpp \ ../Classes/LayerStart.cpp \ ../Classes/MenuCtrl.cpp \ ../Classes/TankEnemy.cpp \ ../Classes/TankFrIEnd.cpp
include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk
#SHAREDliBS += -lcocos2d #COCOS_liBS = $(liB_DIR)/libcocos2d.so
#添加静态库 STATICliBS += \ $(liB_DIR)/libextension.a \ $(liB_DIR)/libBox2d.a \ $(liB_DIR)/libchipmunk.a
SHAREDliBS = -lcocos2d -lcocosdenshion -lcurl -lpthread #COCOS_liBS = $(liB_DIR)/libcocos2d.so $(liB_DIR)/libcocosdenshion.so
#-L$(liB_DIR)制定链接目录 $(TARGET): $(OBJECTS) $(STATICliBS) $(COCOS_liBS) $(CORE_MAKEfile_List) @mkdir -p $(@D) $(LOG_link)$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(SHAREDliBS) $(STATICliBS) -L$(liB_DIR)
$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEfile_List) @mkdir -p $(@D) $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(defineS) $(VISIBIliTY) -c $< -o $@
$(OBJ_DIR)/%.o: ../%.cpp $(CORE_MAKEfile_List) @mkdir -p $(@D) $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(defineS) $(VISIBIliTY) -c $< -o $@ |
14去掉C++11中的代码,比如去掉overrIDe
15d出如下窗口:
Executable重要填写的内容如下(默认生成release版本的情况下)
再次执行,出现下面情况:
/home/toto/cocos/cocos2d-x-2.2.3/projects/tank/proj.linux/bin/release/tank: error while loading shared librarIEs: libcocos2d.so: acannot open shared object file: No such file or directory |
16将需要的共享库拷贝到/usr/lib目录下
17接着再在QT中执行得到的结果如下:
下面进行手机移植:
18导入cocos2dx项目,项目路径是:
/home/toto/cocos/cocos2d-x-2.2.3/projects/tank/proj.androID
19导入cocos2d-x提供的java库,路径是:
/home/toto/cocos/cocos2d-x-2.2.3/cocos2dx/platform/androID/java
Eclipse导入的截图:
20配置windowsàPreferenceàC/C++àBuildàEnvironment中添加NDK_ROOT
我的NDK路径是:/home/toto/cocos/androID-ndk-r9d
配置方式如下:
21修改AndroID.mk(修改makefile文件)
进入如下目录:
/home/toto/cocos/cocos2d-x-2.2.3/projects/tank/proj.androID/jni
查找出所有以”.cpp”结尾的文件
修改AndroID.mk文件
22配置ADT
23 run一下AndroID程序,最终运行结果(转换模拟器方向的快捷键:Ctrl+F12):
总结
以上是内存溢出为你收集整理的1.将cocos2d-x项目移植到Linux环境下,将cocos2d-x项目移植到手机上全部内容,希望文章能够帮你解决1.将cocos2d-x项目移植到Linux环境下,将cocos2d-x项目移植到手机上所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)