Cocos2d-x教程(19)-cocos2d-x.xcodeproj-2.2.x版本对cocos2dx文件的引用以及Cocos2d-x 2.2.0版本后项目拷贝出来无法运行的原因
来源:互联网 发布:usb v2.0数据接口 编辑:程序博客网 时间:2024/06/05 07:47
欢迎加入 Cocos2d-x 交流群: 193411763
转载时请注明原文地址:http://blog.csdn.net/u012945598/article/details/17954549
今天在使用Cocos2d-x 2.2.1版本中的"curl.h"头文件时遇到了一个问题
提示文件没有找到。
之后笔者对比了一下Cocos2d-x 2.1.5版本,发现在2.1.5的版本中cocos2dx文件(curl文件夹位于cocos2dx文件夹目录下)是以groups(黄色文件夹)的形式存在于项目中的,而在2.2.x版本中采用了新的引入方式,也就是我们所见到的cocos2d-x.xcodeproj
(不理解groups形式请参考 http://blog.csdn.net/u012945598/article/details/17955215)
2.1.5版本:
2.2.x版本:
这也就解释了,为什么在2.2.0之后的版本中,如果将你的项目拷贝到了别的电脑上,项目将无法运行的原因。
因为2.2.0之后的版本中,cocos2dx文件夹不再存在于项目的目录下了,而是位于你的系统中的某个位置(下载完之后扔哪了就是哪),当编译器对cocos2dx文件做路径搜索时,会按照创建项目的机器中的cocos2dx文件的路径去搜索,而在另外一台电脑中,路径是不一样的,所以自然会找不到。搜索路径如下图:
我们常用的解决办法就是新建一个项目,将之前项目的Classes文件夹与Resources文件夹拷贝出来,再重新添加到项目中。
从形式上来说,在2.1.5版本中的cocos2dx的文件夹的作用与2.2.x版本中的cocos2dx.xcodeproj的作用是相同的,因为他们都是对cocos2d-x文件夹目录下的cocos2dx文件中的源码的引用。但是在使用过程中,又略有一些区别。
由于在2.1.5的版本中cocos2dx文件是以groups的形式被添加到项目中的,所以在使用的时候,我们可以没有任何顾忌的引用文件中的任何头文件 #include "xxx.h",原因我们在之前的参考文章中已经提过,是因为以groups形式添加到项目中的文件都是会被编译的。
编译的资源文件位置位于Compile Sources如下图:
然而还有一部分文件仍然是以引用的方式存在于项目中,类似于 curl.h,这些文件在使用的过程中并不能直接通过#include "xxx.h"方式获取到它们的头文件,而是要通过其上级目录索引到,例如我们要使用curl文件夹中curl.h的头文件:
#include "curl/curl.h"
又或者我们需要使用到platform中的CCThread类,需要引入头文件
#include "platform/CCThread"
若不加上级目录,就会出现文章开篇中的错误,这就是Cocos2d-x-2.1.5版本与2.2.x版本中cocos2dx中源码使用的区别
- Cocos2d-x教程(19)-cocos2d-x.xcodeproj-2.2.x版本对cocos2dx文件的引用以及Cocos2d-x 2.2.0版本后项目拷贝出来无法运行的原因
- Cocos2d-x教程(19)-cocos2d-x.xcodeproj-2.2.x版本对cocos2dx文件的引用以及Cocos2d-x 2.2.0版本后项目拷贝出来无法运行的原因
- 更改cocos2d-x android 项目的cocos2d-x的版本
- Cocos2d-x教程(14)-Cocos2d-x 2.2.x版本 Json解析(初级篇)
- Cocos2d-x教程(14)-Cocos2d-x 2.2.x版本 Json解析(初级篇)
- cocos2d-x-2.2.2版本的安装
- 【Cocos2d-x】cocos2d-x的拷贝机制
- Cocos2d-x V2.x版本对64bit的支持
- 【cocos2D-x学习】15.cocos2d-x 2.0 版本的 ShatteredSprite
- Cocos2d-x 3.x版本---创建项目
- Cocos2d-x版本升级
- Cocos2d-x版本升级
- Cocos2D-X SimpleGame cocos2d-x完成游戏后的一些锦上添花修饰 (6) ----版本cocos2d-2.0-x-2.0.3 .
- cocos2d-x 2.0 版本的 GLES-Render
- 怎么样升级cocos2d-x的版本
- cocos2d-x 2.0 版本的 GLES-Render
- cocos2d-x 3.0+版本的渲染机制
- cocos2d-x不同版本的安装兼容问题
- HelloWorld 之 概述
- ubuntu/wireshark --Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:45问题解决
- <转>Android ListAdapter的高级功能
- Ubuntu 12.04 下安装Xen 以及使用Xen 安装winXP虚拟机
- 跟着写操作系统(开发环境的搭建)
- Cocos2d-x教程(19)-cocos2d-x.xcodeproj-2.2.x版本对cocos2dx文件的引用以及Cocos2d-x 2.2.0版本后项目拷贝出来无法运行的原因
- Erlang不能错过的盛宴
- 12个乒乓球最少三次称量找不同球的方法
- 获取客户端的真实ip
- 容器指针越界
- ubuntu 12.04 eclipse 报 program g++ not found in path
- Android笔记-ListView总结(多选框ListViiew,动态加载,多线程更新ListView中的进度条)
- 介绍四种GCC内置位运算函数
- Struts2概述 之 MVC模式