原文链接:  http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html

上一篇教程中,我们演示了如何使用VS2010来新建一个工程,并且教大家如何一步步解决头文件包含错误、lib库引用错误 及dll链接错误。但是,每次建一个工程都这么费时,岂不是很不爽,而且每个工程都要copy一份cocos2d-x、cocoaDension和box2d文件夹,还有配置lib,dll,太耗时,这样太浪费空间了!

那么,有没有什么办法不这么麻烦呢?当然是有的。这篇教程的目的就是教大家如何更轻松地创建一个新的工程。主要有2个方法:

方法一:(官方做法)

  1. 打开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动态链接库也是可行的。)

接下来,我们要做一点其它的事了。

  1. 首先在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目录下面去。

  1. 接下来,我们要设置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文件夹和库的更多相关文章

  1. Cocos2d-x建工程时避免copy文件夹和库

    方法一:(官方做法) 打开F:\cocos2d-1.0.1-x-0.9.1目录下的cocos2d-win32.vc2010.sln文件,然后右键点击解决方案,选择"添加"—&quo ...

  2. 关于《Cocos2d-x建工程时避免copy文件夹和库》的更新

    在前几篇博文中大概了解了Cocos2d-x引擎的基本结构后打算开始实际操作,便在网上转载了一篇关于VS新建Cocos2d-x项目的文章.今天实际操作的时候发现博主使用的引擎版本和我的不一致(<C ...

  3. 使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化

    一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...

  4. SharePoint 2013创建应用程序时IIS端口文件夹下没文件

    最近SharePoint 2007迁移到2013的时候,碰到创建应用程序时IIS端口文件夹下没文件的问题,网上找了大把的原因,终于在这里找到了解决方案: Fix: 1. Open IIS on the ...

  5. 【转载】使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化

    一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...

  6. Inno setup 卸载时删除程序文件夹(文件)

    Inno setup 卸载时删除程序文件夹(文件) //删除所有配置文件以达到干净卸载的目的 procedure CurUninstallStepChanged(CurUninstallStep: T ...

  7. Maven+STS工程中Maven Dependencies 文件夹丢失问题

    在我们使用Maven+sts工程中偶尔会出现这种情况: Maven Dependencies文件夹在新打开的工程中丢失,造成 web project 自动编译出错,缺少必要的库文件: 如下图所示的情况 ...

  8. CodeBlocks 17.12 工程如何引用其他文件夹的头文件和源程序

    假设你的工程名为project,目录为F:\test.但是你想在project中使用文件夹F:\library下面的一些头文件和源程序.由于这些头文件和源程序与工程project不在同一目录下面,所以 ...

  9. zip & tar 压缩文件时排除某个文件夹

    确实是用参数 -x aaa bbb 两个文件夹要写全路径. 如 zip -r test.zip test -x /test/aaa/* -x /test/bbb/* 既包含了文件夹,也可以 zip - ...

随机推荐

  1. freemarker 的replace功能

    替换字符串 replace ${s?replace(‘ba’, ‘XY’ )} ${s?replace(‘ba’, ‘XY’ , ‘规则参数’)}将s里的所有的ba替换成xy 规则参数包含: i r ...

  2. 图片自动转换效果 jquery

    http://www.16sucai.com/uploadfile/show5/switchable01/switchable/ <div class="maxpSlid" ...

  3. Java笔记--File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别

    转自:http://hi.baidu.com/danghj/item/0ef2e2c4ab95af7489ad9e39 参考资料:  < core java > 12 章 使用 Java ...

  4. CoreData学习-最好的一片文章

    CoreData学习-最好的一片文章 分类: IOS重新上路2014-05-25 18:00 1937人阅读 评论(0) 收藏 举报   目录(?)[+]   写的很好的一篇教程,我什么时候能写出这么 ...

  5. NSThread 、NSRunLoop 和 Dispatch Queue

     iOS多线程编程中,NSOperation和NSOperationQueue无疑是最常用的,它们能满足绝大部分情况下的线程操作.但在完成一些特殊的任务时,我们还是要使用的NSThread和NSRun ...

  6. Effective Java提升Code Coverage代码涵盖率 - 就是爱Java

    虽然我们已经有了测试程序,但是如何得知是否已完整测试了主程序?,透过Code Coverage代码涵盖率,我们可以快速地得知,目前系统中,有多少程序中被测试过,不考虑成本跟投资效益比,涵盖率越高,代表 ...

  7. SALT-API兼HALITE测试搞定

    妈XX,真的搞了近一周的空闲时间. 最后才领悟. 其实,先按HALITE的套路弄好,然后直接SALT-API就OK了..因为HALITE就是SALT-API的封闭和替代嘛. 随便参考一个URL搞定HA ...

  8. 2015第15周六Java线程池

    Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具.真正的线程池接口是ExecutorService. 比较重要的几个类: Ex ...

  9. 定位于定位优化(iOS)

    定位于定位优化 1.定位的方案 最近在做项目, 遇到了一个问题就是如何让iOS7~~iOS9的定位.因为项目需求只是需要获取用户所在的城市, 而不用十分具体详细的精确定位, 服务端考虑用区号, 作为标 ...

  10. UVa232.Crossword Answers

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...