1.将cocos2d-x项目移植到Linux环境下,将cocos2d-x项目移植到手机上

前端之家收集整理的这篇文章主要介绍了1.将cocos2d-x项目移植到Linux环境下,将cocos2d-x项目移植到手机上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


@H_502_6@1.将@H_502_6@cocos2d-x相关的软件包拷贝到@H_502_6@Linux下。

@H_502_6@

@H_502_6@2对上面的安装包进行解压

unzipcocos2d-x-2.2.3.zip

unzipcocos2d-x-3.2.zip

@H_502_6@

@H_502_6@3执行@H_502_6@cocos2dx-2.2.3/install-deps-linux.sh(执行这个命令需要有网络@H_502_6@)

@H_502_6@

@H_502_6@4安装@H_502_6@QT,命令:@H_502_6@sudo apt-get install qt-sdk

@H_502_6@

@H_502_6@5@H_502_6@cocos2dx-2.2.3目录下,执行@H_502_6@./make-all-linux-project.sh

@H_502_6@

@H_502_6@6要让@H_502_6@64位的@H_502_6@linux能运行@H_502_6@32位的@H_502_6@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

@H_502_6@

@H_502_6@

@H_502_6@7创建一个空项目@H_502_6@tank,进入:

/home/toto/cocos/cocos2d-x-2.2.3/tools/project-creator

执行以下命令:

./create_project.py -project tank -languagecpp -package com.toto.tank

@H_502_6@

@H_502_6@8拷贝@H_502_6@window下的@H_502_6@Resource@H_502_6@Classes,并将它们放到项目目录下,将@H_502_6@tank目录下的@H_502_6@Classes@H_502_6@Resources这个两个文件删除并将开发好的项目中的@H_502_6@Classes@H_502_6@Resource放到@H_502_6@tanke目录下。

@H_502_6@

@H_502_6@

@H_502_6@

@H_502_6@9打开@H_502_6@QT,执行以下几个过程:

@H_502_6@5) create-project.py创建工程@H_502_6@tank

@H_502_6@cd tools\project-creator

@H_502_6@./create-project -project tank -language cpp -package com.toto.tank

@H_502_6@cd ../../projects/tank/proj.linux

@H_502_6@make-- release 版本

@H_502_6@./build.sh-- debug 版本

@H_502_6@6)执行编译出来的程序@H_502_6@

@H_502_6@tank /proj.linux/bin/release/ tank--release版本

@H_502_6@tank /proj.linux/bin/debug/ tank--debug版本

@H_502_6@7)配置@H_502_6@QTcreator

@H_502_6@a.打开@H_502_6@QTcreator创建工程

@H_502_6@file->new -> import project -> import existing project

@H_502_6@b.填写@H_502_6@project

@H_502_6@c.选择源文件代码目录,这个目录是@H_502_6@cocos2dx-2.2.3

@H_502_6@d.设置筛选条件,去掉一些不用的目录

@H_502_6@e.@H_502_6@next完成项目创建

@H_502_6@8)配置@H_502_6@QTcreator项目

@H_502_6@a.build目录,把@H_502_6@build改称你的工程目录下的@H_502_6@proj.linux

@H_502_6@b.修改@H_502_6@build Steps把原有的@H_502_6@make all删除,点击@H_502_6@add build steps添加新命令@H_502_6@build.sh

@H_502_6@Fileà@H_502_6@NewFile Or Projectà

@H_502_6@

填写项目名,选择路径,注意这里的路径是@H_502_6@cocos2d-x的根路径

@H_502_6@

@H_502_6@

点击@H_502_6@Next(注意勾掉自己不需要的东西@H_502_6@)

@H_502_6@

@H_502_6@

@H_502_6@10设置编译路径

路径是:@H_502_6@/home/toto/cocos/cocos2d-x-2.2.3/projects/tank/proj.linux

@H_502_6@

上面是编译@H_502_6@debug的版本的,通过最还是最上面的@H_502_6@Rename可以将@H_502_6@Default这个名字改成@H_502_6@debug名字。下面在添加一个@H_502_6@release的。

@H_502_6@

@H_502_6@

@H_502_6@

@H_502_6@11修改@H_502_6@makefile文件

进入@H_502_6@pro.linux目录下,列出所有的@H_502_6@.cpp文件

@H_502_6@

@H_502_6@12修改@H_502_6@makefile

@H_502_6@

@H_502_6@13@H_502_6@cocos2d-x中提供的@H_502_6@tstCPP中拷贝我们想要的@H_502_6@makefile中的内容

EXECUTABLE = tank

COCOS_ROOT = ../../..

@H_502_6@#添加下面的内容

INCLUDES = -I.. -I../Classes \

@H_502_6@-I$(COCOS_ROOT)/CocosDenshion/include \

@H_502_6@-I$(COCOS_ROOT)/extensions/ \

@H_502_6@-I$(COCOS_ROOT)/external/ \

@H_502_6@-I$(COCOS_ROOT)/external/chipmunk/include/chipmunk

@H_502_6@#修改要编译的头文件

SOURCES = main.cpp \

@H_502_6@../Classes/AI.cpp \

@H_502_6@../Classes/AppDelegate.cpp \

@H_502_6@../Classes/Bullet.cpp \

@H_502_6@../Classes/Item.cpp \

@H_502_6@../Classes/LayerGame.cpp \

@H_502_6@../Classes/LayerMenu.cpp \

@H_502_6@../Classes/LayerSetup.cpp \

@H_502_6@../Classes/LayerStart.cpp \

@H_502_6@../Classes/MenuCtrl.cpp \

@H_502_6@../Classes/TankEnemy.cpp \

@H_502_6@../Classes/TankFriend.cpp

include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk

#SHAREDLIBS += -lcocos2d

#COCOS_LIBS = $(LIB_DIR)/libcocos2d.so

@H_502_6@#添加静态库

STATICLIBS += \

@H_502_6@$(LIB_DIR)/libextension.a \

@H_502_6@$(LIB_DIR)/libBox2d.a \

@H_502_6@$(LIB_DIR)/libchipmunk.a

SHAREDLIBS = -lcocos2d -lcocosdenshion -lcurl -lpthread

#COCOS_LIBS = $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/libcocosdenshion.so

@H_502_6@#-L$(LIB_DIR)制定链接目录

$(TARGET): $(OBJECTS) $(STATICLIBS) $(COCOS_LIBS) $(CORE_MAKEFILE_LIST)

@H_502_6@@mkdir -p $(@D)

@H_502_6@$(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(SHAREDLIBS) $(STATICLIBS) -L$(LIB_DIR)

$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST)

@H_502_6@@mkdir -p $(@D)

@H_502_6@$(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY) -c $< -o $@

$(OBJ_DIR)/%.o: ../%.cpp $(CORE_MAKEFILE_LIST)

@H_502_6@@mkdir -p $(@D)

@H_502_6@$(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY) -c $< -o $@

@H_502_6@14去掉@H_502_6@C++11中的代码,比如去掉@H_502_6@override

@H_502_6@15弹出如下窗口:

@H_502_6@

@H_502_6@Executable重要填写的内容如下(默认生成@H_502_6@release版本的情况下)

@H_502_6@

再次执行,出现下面情况:

/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

@H_502_6@

@H_502_6@16将需要的共享库拷贝到@H_502_6@/usr/lib目录下

@H_502_6@

@H_502_6@17接着再在@H_502_6@QT中执行得到的结果如下:

@H_502_6@

@H_502_6@

下面进行手机移植:

@H_502_6@18导入@H_502_6@cocos2dx项目,项目路径是:

/home/toto/cocos/cocos2d-x-2.2.3/projects/tank/proj.android

@H_502_6@

@H_502_6@19导入@H_502_6@cocos2d-x提供的@H_502_6@java库,路径是:

/home/toto/cocos/cocos2d-x-2.2.3/cocos2dx/platform/android/java

@H_502_6@

@H_502_6@Eclipse导入的截图:

@H_502_6@

@H_502_6@

@H_502_6@20配置@H_502_6@Windowsà@H_502_6@Preferenceà@H_502_6@C/C++à@H_502_6@Buildà@H_502_6@Environment添加@H_502_6@NDK_ROOT

我的@H_502_6@NDK路径是:@H_502_6@/home/toto/cocos/android-ndk-r9d

配置方式如下:

@H_502_6@

@H_502_6@

@H_502_6@21修改@H_502_6@Android.mk修改@H_502_6@makefile文件

进入如下目录:

/home/toto/cocos/cocos2d-x-2.2.3/projects/tank/proj.android/jni

查找出所有以@H_502_6@”.cpp”结尾的文件

@H_502_6@

修改@H_502_6@Android.mk文件

@H_502_6@

@H_502_6@22配置@H_502_6@ADT

@H_502_6@23 run一下@H_502_6@Android程序@H_502_6@,最终运行结果(转换模拟器方向的快捷键:@H_502_6@Ctrl+F12):

原文链接:https://www.f2er.com/cocos2dx/346319.html

猜你在找的Cocos2d-x相关文章