@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@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 = ../../..
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
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
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
$(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@
@H_502_6@
@H_502_6@23 run一下@H_502_6@Android程序@H_502_6@,最终运行结果(转换模拟器方向的快捷键:@H_502_6@Ctrl+F12):
原文链接:https://www.f2er.com/cocos2dx/346319.html