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

15弹出如下窗口:

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. 五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-第四天

    音视频播放功能 <智能家居系列> 一.音频播放 1.Linux下的音频播放实现 2.实现步骤 二.语音播报信息 三.视频播放 1.素材准备 2.实现步骤 四.项目框架搭建 <智能家居 ...

  2. 五天完成项目-《基于Linux环境下的Cortex A53的手势识别智能家居》-第五天

    视频监控和家电控制 <智能家居系列> 一.视频监控基础 1.摄像头 2.v4l2 3.Linux下的摄像头使用流程 4.烧写程序到开发板 5.运行程序 (先插上摄像头) 二.视频监控功能 ...

  3. 【Linux部署】Spring Boot 项目部署在Linux环境下的Docker容器内举例【任务调度系统 xxl-job 任务调度中心】(手动版)

    1.将SpringBoot项目打jar包 这里打包的是xxl-job任务调度系统的调度器. 2.编写Dockerfile FROM java:8 VOLUME /tmp ADD xxl-job-adm ...

  4. Linux环境下段错误的产生原因及调试方法小结

    From:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基 ...

  5. [转]Linux环境下段错误的产生原因及调试方法小结

    最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的"段错误"(Segme ...

  6. linux环境下查看进程,Linux下查看进程(程序)启动时的环境变量

    背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题, ...

  7. linux环境下,普通用户使用service httpd restart 重启Apache失败

    在项目中,linux环境下,修改php.ini 配置文件后,需要重启Apache是配置生效,但是用户为普通用户,执行service httpd restart后,报错如下: [fst@newgame1 ...

  8. Linux环境下——C语言聊天室项目

    由于使用了多线程操作,客户端进入程序后请先随便注册一次用户后再进行使用. 本程序默认第一个用户即ID为1的用户为超级管理员. 由于线程阻塞,最后的踢人操作有阻塞,需要在被踢出在线链表后手动下线. 看了 ...

  9. 淘客项目coupons在 Linux 环境部署指南

    本篇文章主要是记录Coupons项目在Linux环境下的安装过程 Coupons是一个从前端到后端完全开源的淘宝客项目,当初学习完uniapp之后想做一个实战项目,所以才研发了这个项目.由于本人平时主 ...

最新文章

  1. ApiCloud云端管理平台(v.20151022)
  2. CUDA学习笔记之 CUDA存储器模型
  3. C++设计模式--状态模式(state)
  4. java并发中的延迟初始化
  5. Android leak内存,GitHub - jin870132/memoryleakdemo: 安卓内存泄露几种常见形式及解决方案...
  6. DataSet.GetBookMark内存泄漏
  7. vivado和modelsim联合仿真实现偶分频
  8. poj 2506 Tiling dp 递推
  9. ubuntu14.10 LTS安装完成后鼠标闪烁问题
  10. 计算机自带扫雷游戏不显示,win7系统自带扫雷游戏打不开的解决方法
  11. 计算机专业英语一国家线,从以往国家公布的数据,客观来看2010年英语国家线...
  12. 解决从GitHub拉取、提交代码一直验证失败的问题
  13. 最后1天|宏基因组分析第8期(报名直播课免费参加线下2020.7)
  14. 图像识别解释方法的视觉演变
  15. 2018/5/25-2018/6/7
  16. Android 资源文件layout-sw500dp、layout-w500dp和layout-h500dp的区别
  17. android 动画制作小软件GifMaker
  18. 房贷中的等额本息和等额本金有什么区别?
  19. Https、Wss加密实践
  20. PyTorch运行加载数据后占有大量C盘空间如何释放

热门文章

  1. VTK:vtkArrayToTable用法实战
  2. wxWidgets:wxStatusBar 示例
  3. wxWidgets:显示 wxDebugReport 和相关类的最小示例
  4. boost::detail::invoke相关的测试程序
  5. boost::adaptors::copied相关的测试程序
  6. boost::parameter::python相关的测试程序
  7. boost::integer::extended_euclidean用法的测试程序
  8. boost::interprocess::ipcdetail::private_adaptive_node_pool用法的测试程序
  9. boost::fibers::shared_future的用法实例
  10. VTK:图表之ConstructTree