Ubuntu14.04+eclipse下cocos2d-x3.0正式版环境的搭建
环境:
ubuntu14.04
adt-bundle-linux-x86_64
android-ndk-r9d-linux-x86_64
cocos2d-x-3.0正式版
apache-ant 1.9.3
python 2.7(ubuntu自带)
加入环境变量
export ANDROID_SDK_ROOT=/home/yangming/adt-bundle-linux/sdk
export PATH=${PATH}:/$ANDROID_SDK_ROOT/tools/
export PATH=${PATH}:/$ANDROID_SDK_ROOT/platform-tools/
export NDK_ROOT=/home/yangming/adt-bundle-linux/android-ndk-r9d
export PATH=${PATH}:/$NDK_ROOT
export ANT_ROOT=/opt/apache-ant-1.9.3
export PATH=${PATH}:/$ANT_ROOT/bin.
终端下执行build文件夹里的install-deps-linux.sh安装gcc等编译须要的环境,这里有硬性要求。gcc至少4.8。opengl至少1.5。低于标准可能编译只是去,编译过去也执行不了。
终端下执行setup.py,cocos new创建项目。这个各个平台应该都一样的。
得到如图所看到的文件夹
cd test/proj.linux/
进入linuxproject文件夹,执行
cmake ..
生成makefile文件,如图
打开eclipse,导入proj.linuxproject,选择C/C++,选择Existing Code as Makefile Project,选linux gcc
此时这个项目已经能够直接编译执行了,可是源代码在文件夹外看不到,我们再来引入源代码。
右键单击project->Properties->C/C++ General->Paths and Symbols->Source Location->Link Folder,依次导入project文件夹里的Classes,Resources,cocos2d。cocos2d因为linuxproject里有同名文件夹。能够改个名
如今project应该是这个样子。打开一个文件,发现有非常多错误,
看一下错误的原因,以这个Director为例,我们打开他的头文件,发现CC_DLL这个宏没有被识别
这个宏是在哪里定义呢。在各个平台各自的CCPlatformDefine.h里。
能够看到。因为
#if CC_TARGET_PLATFORM == CC_PLATFORM_LINUX
没有成立。导致这个文件的内容全都无效,我们能够找一下CC_TARGET_PLATFORM,他在/test.linux/cocos2dsrc/cocos/base/CCPlatformConfig.h,这文件中列出各个平台的编号。CC_TARGET_PLATFORM先被设置为0,再在以下推断后重设,我们看到linux这行是灰色的,就是#if defined(LINUX)没有成立。我们仅仅须要在Paths and Symbols里加入LINUX參数和CC_DLL,LINUX值为1,CC_DLL值为空,如图
如图。
必须要把Managed Build Setting 置于 GCC Built-in Compiler Settings之上,在Providers里先取消GCC Built-in Compiler Settings,点Apply应用,再选中GCC Built-in Compiler Settings,再点Apply。回到Entries里,Managed Build Setting就跑到 GCC Built-in Compiler Settings上面了
好,如今AppDelegate.cpp已经不报错了。大部分文件都正常了,但另一小部分还会报错。比方HelloWorldScene.cpp
MenuItemImage这个类报错,我们找到MenuItemImage.h,发现function这行报错,std::function是c++11特性。我们须要让cdt识别c++11特性。
找到functional文件。这里的问题和上面的平台式识别问题相似。#if __cplusplus >= 201103L这个推断没有成立,__cplusplus这个值默认值是199711L,我们须要在Paths and Symbols里加入__cplusplus=201103L。同一时候加入-std=c++11,如图
这里能够点Export Settings导出设置到xml。新project导入就能够
好。如今整个project都不报错了。代码提示也都能够正常使用。我们点小锤子build。開始编译了。事实上这个project生成完makefile文件后就能够正常编译,上面的报错仅仅是eclipse cdt的设置问题。并非真正的错误。
编译成功后,run as Local C/C++ Application,选MyGame,
成功!
自建类须要在CMakeLists.txt里加入。又一次执行cmake,生成makefile才干够编译
set(GAME_SRC
proj.linux/main.cpp
Classes/AppDelegate.cpp
Classes/HelloWorldScene.cpp
)
另一些莫名其妙的报错,如Return has value, in function returning void, must implement the inherited pure virtual method,Invalid arguments ' Candidates are: ,Member declaration not found之类的。请更新CDT到最新版,我更新之后这些报错都消失了
Ubuntu14.04+eclipse下cocos2d-x3.0正式版环境的搭建的更多相关文章
- cocos2d-x 3.0正式版 环境搭建 (解决载入失败,未能载入XXX包)
cocos2d-x 3.0正式版最终公布了~ 等了好久~ 废话不多说,直接写方法. 1.下载安装vc2012 ,我用的是旗舰版,传送门:点击打开链接 2.下载cocos2d-x 3.0正式版,传送门: ...
- Linux下Hadoop2.6.0集群环境的搭建
本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http:/ ...
- Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例
Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例 一.在Eclipse下编译安装Hadoop插件 Hadoop的Eclipse插件现在已经没有二进制版直接提供,只能自己编译. ...
- Torch,Tensorflow使用: Ubuntu14.04(x64)+ CUDA8.0 安装 Torch和Tensorflow
系统配置: Ubuntu14.04(x64) CUDA8.0 cudnn-8.0-linux-x64-v5.1.tgz(Tensorflow依赖) Anaconda 1. Torch安装 Torch是 ...
- Cocos2d-x 3.0正式版及android环境搭建
开发环境是:mac + xcode + eclipse ,在win以下的环境和这个都是一样的,唯一不一样的就是环境变量的配置. 以下主要介绍cocos2d-x环境的设置以及android的环境搭建 1 ...
- Cocos2d-x v3.0正式版尝鲜体验【2】 Android平台移植
今天没事又尝试了下3.0正式版关于Android平台的移植,把新建的项目移植了下.过程仅用了十分钟左右,什么概念?! 好吧,事实上我想说,这个版本号真的移植非常轻松啊,只是还没加上其它东西,只是就眼下 ...
- 【转】MyEclipse 9.0正式版官网下载(附Win+Llinux激活方法、汉化包)
MyEclipse 9.0 经过 M1,M2,终于出了正式版(MyEclipse For Spring 还是 8.6.1).该版本集成了 Eclipse 3.6.1,支持 HTML5 和 JavaEE ...
- .NET Core 3.0正式版发布
是的,.NET Core 3.0正式版发布了,令人兴奋. WPF 其实,.NET Core 2.1开始已经是个很完善的版本,3.0又带来了什么呢?我站在我的使用角度来看,最最令人振奋的就是:能用WPF ...
- Redis 3.0正式版发布,正式支持Redis集群
Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...
随机推荐
- 升级nodejs至最新
网上找出了很多升级nodejs版本的方法,都不太好用,直至发现这个: 在命令行窗口中执行:where node: 然后在nodejs官网中下载最新版本,将刚才目录下node.exe替换掉: 最后执行: ...
- RN(八)——react-native-image-viewer & react-native-swiper
以项目(业务GO)为例: react-native-swiper 轮播(用在首页的图集轮播) https://github.com/leecade/react-native-swiper react- ...
- Xcode 插件集:xTextHandler
本文转载至 http://www.tuicool.com/articles/zIFvQn7 基于 Xcode Source Editor Extension 做了一个插件集,叫做 xTextHandl ...
- kubernetes 测试 Mariadb gtid 主从复制.
k8s 为 1个master 3个node 下载镜像 : mariadb 镜像版本是10.2.13 (此时10.3还没发布正式版) docker pull mariadb push到私有仓库 dock ...
- win8/win7中使用Git Extensions PuTTy模式提交时 git-credential-winstore.exe": No such file or directory 错误解决方案
参考:http://www.cnblogs.com/hlizard/p/3627792.html 报错类似以下错误 \"F:/GitExtensions/GitCredentialWinSt ...
- Cordova 3.3 开发环境搭建(视频)
图文文章参见: http://www.cnblogs.com/mlzs/p/3332199.html 视频共享链接 百度:http://pan.baidu.com/s/1c0EHfqC
- 2018 青岛ICPC区域赛E ZOJ 4062 Plants vs. Zombie(二分答案)
Plants vs. Zombies Time Limit: 2 Seconds Memory Limit: 65536 KB BaoBao and DreamGrid are playin ...
- stdarg.h头文件源代码分析
谈到C语言中可变参数函数的实现(参见C语言中可变参数函数实现原理),有一个头文件不得不谈,那就是stdarg.h 本文从minix源码中的stdarg.h头文件入手进行分析: #ifndef _STD ...
- minix中时间转换的实现(asctime.c)
在minix2.0源代码中,有相当经典的时间转换函数实现(src\ src\ lib\ ansi\ asctime.c),今天我们就来分析一下asctime.c中的源码 首先引入几个相关的头文件: 1 ...
- 游戏AI-行为树
参考: 游戏AI—行为树研究及实现 GAD腾讯游戏开发者平台:游戏中的人工智能AI 腾讯开源项目behaviac 占坑,待编辑