切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Cocos2d-x
cocos2d-x linux环境搭建-基于eclispse cdt
cocos2d-x linux环境搭建-基于eclispse cdt
2019-05-18
Cocos2d-x
前端之家
前端之家
收集整理的这篇文章主要介绍了
cocos2d-x linux环境搭建-基于eclispse cdt
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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/
进入linux工程目录,执行
复制代码
cmake ..
生成
makefile
文件
,如图
打开eclipse,导入proj.linux工程,选择C/C++,
选择Existing Code as Makefile
Project,选linux gcc
此时这个项目已经可以直接编译运行了,但是源码在目录外看不到,我们再来引入源码。
右键单击工程->Properties->C/C++ General->Paths and Symbols->Source Location->Link Folder,依次导入工程目录里的Classes,Resources,cocos2d。cocos2d由于linux工程里有同名目录,可以改个名
现在工程应该是这个样子,打开一个
文件
,发现有很多
错误
,
看一下
错误
的原因,以这个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,新工程导入就可以
好,现在整个工程都不报错了,
代码
提示
也都可以正常使用。我们点小锤子build,开始编译了。其实这个工程
生成
完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
)
android程序员,用惯了eclipse了,用vs各种不爽啊,发个教程,希望能壮大eclipse和linux使用者
还有一些莫名其妙的报错,如
Return has value,in function returning void, must implement the inherited pure virtual method,Invalid arguments ' Candidates are: ,Member declaration not found
之类的,请更新CDT到最新版,我更新之后这些报错都消失了
上一篇:cocos2dx之2.x和3.x使用draw绘图的
下一篇:cocos2dx的fps stats如何更改位
猜你在找的Cocos2d-x相关文章
创建自定义的Cocos2d-x场景
操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCE...
作者:前端之家 时间:2021-01-27
给vs2010安装上cocos2d-x的模版
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,...
作者:前端之家 时间:2021-01-27
Python创建Cocos2d-x 2.2方法
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-...
作者:前端之家 时间:2021-01-27
cocos2dx 物理碰撞
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysics...
作者:前端之家 时间:2020-08-06
cocos2d-js 自定义事件监听派发
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的...
作者:前端之家 时间:2020-08-06
cocos常用 实用 公共函数 lua代码
公共资源加载,缓存retain;防止被自动销毁 2. 数字滚动递增;用于得奖后,总金币跳动增加...
作者:前端之家 时间:2020-08-06
cocos creator box2d
title Map 使用box2d var sfloors = this.tiledMap.getObjectGroup(‘Special_Floor‘).g...
作者:前端之家 时间:2020-08-06
(转)让quick-cocos2d-x支持加密的plist文件
前篇:quick-cocos2d-x图片资源加密 在前篇里面,我们实现了图片资源的加密,但还没有实现...
作者:前端之家 时间:2020-08-06
(转)quick-cocos2d-x图片资源加密(续)
摘要: 对在quick-cocos2d-x上实现的资源加密方法的补充 前篇: quick-cocos2d-x图片资源加...
作者:前端之家 时间:2020-08-06
Cocos Creator 动态改变sprite图片
首先将存放图片最外层文件夹命名为resources changeBj: function(){ var url...
作者:前端之家 时间:2020-08-06
编程分类
iOS
Android
Swift
Hybrid
Cocos2d-x
Flutter
Xcode
Silverlight
cocoa
Cordova
最新文章
• 创建自定义的Cocos2d-x场景
• 给vs2010安装上cocos2d-x的
• Python创建Cocos2d-x 2.2方
• cocos2dx 物理碰撞
• cocos2d-js 自定义事件监听
• cocos2dx 分帧加载
• cocos常用 实用 公共函数
• cocos creator box2d
• (转)让quick-cocos2d-x支
• (转)quick-cocos2d-x图片
热门标签
更多 ►
调试桥
筛选栏
假异步
不会丢失
AndPermissio
权限申请
抽屉式
systemUI
信号栏
多行排列
跨多行显示
viewmode
数据共享
录制语音
视频通话
多行显示
Studio3.5
拉伸控件
望远镜
发动态
走势图
点赞控件
显示牌
冷启动
v3签名
v2签名
v1签名
本地html
外接键盘
流式标签