CoCos2D-X-2.1.5在Eclipse中导入HelloCpp项目搭建
1、前言
最新正在做一个校园增强现实的应用,虽然不知道cocos2d-x具体到最后能做成什么样子,但还是拿来试试,本文章仅从在Eclipse中采用复制一个新项目副本的方式来导入一个现成的HelloCpp为例,讲述如何配置cocos2d-x项目,当然如何从头开始建立一个cocos2d-x项目还没研究,这里就先做记录。
2、问题描述
由于我不喜欢在原本的项目上进行修改,因此我总是导入到自定义的目录下进行编译,但是发现第一次建立cocos2d-x的项目有很多错误,项目根本无法编译通过,而且网上也很难找到对应的解决方案,最后琢磨出来要修改很多才能OK。
3、原因
最主要原因的是项目的配置和目录的指定,下面详细说明。
4、解决方案
Step1:使用Eclipse在E:\cocos2d-x-2.1.5\samples\Cpp\HelloCpp目录下导入proj.android项目,该项目是转为Android平台准备的,而其他则是为其他平台准备的。
Step2:把E:\cocos2d-x-2.1.5\cocos2dx\platform\android\java\src\org\cocos2dx目录下的源码lib库文件目录复制到导入好的项目HelloCpp\src\org\cocos2dx目录下,最后在Eclipse中刷新src目录,就会看到如下的样子。
Step3:在cocos2d的资源文件E:\cocos2d-x-2.1.5\samples\Cpp\HelloCpp\Resources下到找需要的文件,并把它复制到D:\MyCODE\Android\HelloCpp\assets目录下,assets目录是开发人员需要自己建立,最后如下图所示。
Step4:修改Application.mk文件配置
在Application.mk文件中添加NDK_MODULE_PATH:= E:/cocos2d-x-2.1.5;E:/cocos2d-x-2.1.5/cocos2dx/platform/third_party/android/prebuilt(注意这里的斜杠方向)。
如果你想你的程序能够在Android X86模拟器中运行,那么还需要在该文件中添加APP_ABI := armeabi armeabi-v7a x86,表示该程序支持armeabi/armeabi-v7a/x86这三种内核。
Step5:修改项目编译选项
C/C++ Build -> Builder Settings -> Build command:
注意:要把“Use default build command”前的勾取消,并修改“Build command”,这里我写“${NDK_ROOT}”因为我在电脑中添加了环境变量,如下图,当然也可以写绝对地址。
C/C++ Build -> Environment ->add
这里添加的变量和Application.mk中添加的变量值相同。
Step6:修改Link Folder,添加项目Classes目录下的C++源码(注意)
由于导入项目后项目的位置已经和原来的发生改变,所以需要修改所有Link Folder目录。首先在项目中删除Classes、cocos2dx、extensions这三个目录,然后在项目属性C/C++ General -> Paths and Symbols下的Source Location标签中逐一添加Classes、cocos2dx、extensions这三个Link Folder。
Classes:E:\cocos2d-x-2.1.5\samples\Cpp\HelloCpp\Classes
cocos2dx:E:\cocos2d-x-2.1.5\cocos2dx
extensions:E:\cocos2d-x-2.1.5\extensions
Step7:修改Includes(注意)
在项目属性C/C++ General -> Paths and Symbols下的Includes中修改和添加对应的目录。
E:/Android/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.6/include
E:/Android/android-ndk-r9/sources/cxx-stl/system/include
E:/Android/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include
E:/Android/android-ndk-r9/platforms/android-8/arch-arm/usr/include
E:/cocos2d-x-2.1.5/cocos2dx
E:/cocos2d-x-2.1.5/cocos2dx/include
E:/Android/android-ndk-r9/sources/cxx-stl/stlport/stlport
E:/Android/android-ndk-r9/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.4.3/include
CoCos2D-X-2.1.5在Eclipse中导入HelloCpp项目搭建的更多相关文章
- ④---在Eclipse中导入GIT项目
Eclipse中导入GIT项目 以下将为大家介绍如何在Eclipse中导入GIT项目. 一.在Eclipse中安装GIT 1首先打开Eclipse,然后点击Help>Install New So ...
- eclipse 中导入 maven项目 启动报错
导入Maven项目到Eclipse中时,出现问题如下: java.lang.ClassNotFoundException: org.springframework.web.context.Contex ...
- 在Eclipse中导入web项目时的问题总结
一.导入项目 在Project Explorer右击,import-->Existing Projects into Workspace,选择要导入的文件,Finish. 二.解决报错 (1)T ...
- Eclipse中的maven项目搭建
一.eclipse中的maven设置 1.打开“首选项”----> "maven"---->"Installations".用来查看maven的使用 ...
- eclipse中导入SVN项目步骤
1.eclipse中安装SVN插件 在线安装步骤: (1)点击 Help --> Install New Software...(2)在弹出的窗口中点击add按钮,输入Name(任意)和Loca ...
- eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maven
org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter) 解决方法为:更新eclipse中的maven插件 1.help ...
- eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.proje
org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter) 解决方法为:更新eclipse中的maven插件 1.help ...
- eclipse中SSM(maven)项目搭建全过程+实现用户登录功能
项目创建之前确保eclipse中已经配置好了jdk,tomcat,maven如果没有配置下面有配置教程的链接 eclipse中配置jdk的教程url:http://www.cnblogs.com/ ...
- eclipse 中 导入git项目无法导入的问题
研发在git上打了一个分支,需要重新导入分支项目.此时发现与之前相同模式导入失败,不起作用. 解决: 需要在Git Repositories中对应项目下找到.project 文件并进行修改,修改项目名 ...
随机推荐
- mac安装热更新插件
查看.修改或者执行某些命令需要root用户的权限,如果不想直接切换到root用户,就可以使用sudo命令.sudo命令用于针对单个命令授予临时权限.sudo仅在需要时授予用户权限,减少了用户因为错误执 ...
- 代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
近期接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问.就是应该怎样制作UI界面.iOS应用是非常重视用户体验的,能够说绝大多数的应用成功与否与交互设计以及UI是否美丽易用有着非常大的关 ...
- SettingsTortoiseSVN
迁移时间:2017年5月20日11:16:05CreateTime--2016年9月18日18:20:15Author:Marydon在windows下安装SVN软件 说明:64位的系统只能安装6 ...
- DIV布局之position详解
相对定位和绝对定位 定位标签:position 包含属性:relative(相对) absolute(绝对) 1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在 ...
- Eclipse集成ijkplayer并实现本地和网络视频播放等
概述 Eclipse 集成ijkplayer demo,播放本地视频.和rtmp流. 详细 代码下载:http://www.demodashi.com/demo/10630.html 原文地址:Ecl ...
- CSS3+JS 实现的便签应用
概述 利用HTML5新增的 locationStorage 实现的便签应用,没有使用 JQuery,主要是为了练习原生JS的使用,采用响应式开发,在手机端和桌面端都有良好的体验,而且使用CSS3添加了 ...
- Swift调用OC和C
Swift文件:main.swift import Foundation //Swift调用C函数 desc1() //Swift调用OC //拿到OC类 var funcClass = Root() ...
- shell脚本死循环判断nginx日志reqest_time时间大于3秒是否增加,若增加发送相关日志信息到开发人员
#!/bin/bash while [ 1 ] do pre_request_time_count=`cat /var/log/nginx/access.log |awk '{print $NF}'| ...
- MySQL-关于并发下的mysql_insert_id()
我们在写数据库程序的时候, 经常会需要获取某个表中的最大序号数, 或者刚插入的数据的ID值, 一般情况下获取刚插入的数据的id, 使用select max(id) from table 是可以的, 但 ...
- GFW的前世今生,一部GFW之父方滨兴的发家史
http://whu.myubbs.com/thread-96390-1-1.html方滨兴(1960年7月17日-),男,中国共chan党党员,中国工程院院士,全国人大代表,中国科学院信息工程研究所 ...