[转]Cocos2d-x建工程时避免copy文件夹和库
原文链接: http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html
在上一篇教程中,我们演示了如何使用VS2010来新建一个工程,并且教大家如何一步步解决头文件包含错误、lib库引用错误 及dll链接错误。但是,每次建一个工程都这么费时,岂不是很不爽,而且每个工程都要copy一份cocos2d-x、cocoaDension和box2d文件夹,还有配置lib,dll,太耗时,这样太浪费空间了!
那么,有没有什么办法不这么麻烦呢?当然是有的。这篇教程的目的就是教大家如何更轻松地创建一个新的工程。主要有2个方法:
方法一:(官方做法)
打开F:\cocos2d-1.0.1-x-0.9.1目录下的cocos2d-win32.vc2010.sln文件,然后右键点击解决方案,选择"添加"—"新建项目",如下图:
接下来,从已安装的模板中选择cocos2d-x,然后选择cocos2d-x win32 Application,最后在下方给新建工程取一个名字为"HelloWorldBox2D",如下所示:(注意默认位置F:\cocos2d-1.0.1-x-0.9.1不能更改!!!)
建好项目之后,直接右建HelloWorldBox2d,然后设置为启动项目,然后再按"Ctrl+F5"好完成 了!简单吧,下面是运行效果截图:
方法二:
在前一篇教程的基础之上,不打开F:\cocos2d-1.0.1-x-0.9.1\cocos2d-win32.vc2010.sln文件,而是新建一个工程。然后,我们不是copy文件夹、lib和dll了。我们只需要把release版本的dll全部复制到c:\Windows\System32目录下去。(由于cocos2d-x生成的debug版链接库和release版链接库名字一样,所以只需要把release复制过去就行了,我实验了一下,debug模式下链接release动态链接库也是可行的。)
接下来,我们要做一点其它的事了。
首先在D盘建立一个文件夹cocos2d-xSources,然后把Box2D,cocos2dx,CocosDenshion拷贝到这个目录下面,并且再新建一个文件夹libs,具体目录结构如下图:
然后把F:\cocos2d-1.0.1-x-0.9.1\Release.win32目录下的
libcocos2d.lib
libEGL.lib
libgles_cm.lib
libCocosDenshion.lib
iconv.lib
libxml2.lib
zlib1. Lib
全部拷贝到刚刚新建的libs目录下面去。
接下来,我们要设置VC的头文件包含目录和库引用目录:选择"属性管理器",然后选择Debug | Win32,如下图所示:
然后双击打开Microsoft.Cpp.Win32.user这个文件,然后选择VC++目录,如下图:
接下来我们要更改右边的"包含目录"和"库目录",在右边的空白地方点击一下,
然后选择"编辑",如下图所示的目录都添加进去就OK了:
然后"Ctrl+F5",哈哈,成功!你把项目设置改成debug和release都能编译并运行成功。不过debug生成的exe文件可能被360认为是病毒。。。无语啊!然后,你再试着重新新建一个项目试试,哈哈,一样可以编译通过并运行成功,而且少了很多不必要的设置。这种方法有个缺点,就是查看不到cpp实现。不过我觉得这个方法更轻巧。方法一虽然好,设置也简单,但是当你写了很多工程以后,会发现加载非常之慢,特别是配置不好的同学。对于方法二,如果cocos2d-x升级了,也就是重新生成lib和dll,然后覆盖之前的就行了。接着再拷贝Box2D,cocos2dx,CocosDenshion三个文件夹,也是覆盖就OK!
[转]Cocos2d-x建工程时避免copy文件夹和库的更多相关文章
- Cocos2d-x建工程时避免copy文件夹和库
方法一:(官方做法) 打开F:\cocos2d-1.0.1-x-0.9.1目录下的cocos2d-win32.vc2010.sln文件,然后右键点击解决方案,选择"添加"—&quo ...
- 关于《Cocos2d-x建工程时避免copy文件夹和库》的更新
在前几篇博文中大概了解了Cocos2d-x引擎的基本结构后打算开始实际操作,便在网上转载了一篇关于VS新建Cocos2d-x项目的文章.今天实际操作的时候发现博主使用的引擎版本和我的不一致(<C ...
- 使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化
一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...
- SharePoint 2013创建应用程序时IIS端口文件夹下没文件
最近SharePoint 2007迁移到2013的时候,碰到创建应用程序时IIS端口文件夹下没文件的问题,网上找了大把的原因,终于在这里找到了解决方案: Fix: 1. Open IIS on the ...
- 【转载】使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化
一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...
- Inno setup 卸载时删除程序文件夹(文件)
Inno setup 卸载时删除程序文件夹(文件) //删除所有配置文件以达到干净卸载的目的 procedure CurUninstallStepChanged(CurUninstallStep: T ...
- Maven+STS工程中Maven Dependencies 文件夹丢失问题
在我们使用Maven+sts工程中偶尔会出现这种情况: Maven Dependencies文件夹在新打开的工程中丢失,造成 web project 自动编译出错,缺少必要的库文件: 如下图所示的情况 ...
- CodeBlocks 17.12 工程如何引用其他文件夹的头文件和源程序
假设你的工程名为project,目录为F:\test.但是你想在project中使用文件夹F:\library下面的一些头文件和源程序.由于这些头文件和源程序与工程project不在同一目录下面,所以 ...
- zip & tar 压缩文件时排除某个文件夹
确实是用参数 -x aaa bbb 两个文件夹要写全路径. 如 zip -r test.zip test -x /test/aaa/* -x /test/bbb/* 既包含了文件夹,也可以 zip - ...
随机推荐
- CC3的多列属性Multi-column
CC3的多列属性Multi-column 一直都很想了解这个属性,总是忘了.今天可以研究一下,回想起想了解它的原因,大概是觉得它很容易分开几列.可能会有很多好处和方便. 0 16-09-17 1 16 ...
- show,hide与fadeIn、fadeOu的区别
show,hide——>是通过改变height,width,opacity来实现动画的显示与隐藏的 fadeIn.fadeOut——>只通过opacity来实现动画的显示与隐藏的 它们两个 ...
- python下如何处理windows的路径名
f = open(r'e:\迅雷下载\TEK-071\test.txt','r') 在windows下\会被认为是转义字符,所以需要在字符串前加上r,来告诉计算机后面的字符串是没有转义的.
- isinstance()和__name__
# coding: utf-8 def displayNumType(num): print num, 'is', if isinstance(num, (int, long, float, comp ...
- 去掉Eclipse打开后定期弹出Usage Data Upload对话框
Eclipse 的 UDC 老定期蹦出来说要上传使用数据到 eclipse 官网服务器去除方法: 1.删除 eclipse/plugins 目录下以 org.eclipse.epp.usagedata ...
- PowerShell_零基础自学课程_8_高级主题:WMI对象和COM组件
本系列文章从最初的初识开始,基本上可以完成一些简单的系统管理了,为了更方便的管理系统,同时为了更好的发掘系统的性能,就需要用到系统提供 的一些高级特性,在Windows Server系列的OS中,如果 ...
- 发几个速度快可以用的google IP,谷歌IP(转)
google搜索引擎打不开时的解决办法,谷歌(google)的IP是多少? google IP镜像. 这里搜集了几个经过测试可用的IP,用来在不能域名访问google的时候进行访问,实时更新! 前面几 ...
- poj 3498 March of the Penguins(最大流+拆点)
题目大意:在南极生活着一些企鹅,这些企鹅站在一些冰块上,现在要让这些企鹅都跳到同一个冰块上.但是企鹅有最大的跳跃距离,每只企鹅从冰块上跳走时会给冰块造成损害,因此企鹅跳离每个冰块都有次数限制.找出企鹅 ...
- php用apc实现的临界区 解决并发,资源互斥同步访问
在面对线程或进程的互斥同步的控制问题时,常用的解决办法是:临界区,互斥锁,信号量 临界区保证在某一时刻只有一个线程能够访问到所需资源的方法. 任何时候,只能至多有一个线程处于临界区中.如果多个线程要求 ...
- shell编程笔记(1)
shell编程: 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量) 事先转换成可执行格式 C.C++.JAVA.C# ...