码迷,mamicode.com
首页 > 其他好文 > 详细

Cocos2dx 3.x 新建项目编译很慢的解决方案

时间:2016-04-12 19:41:42      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

一、前言


最近在用Cocos2d-x(后面我简称"Co-x")开发项目,发现一个问题:

Co-x 3.x版本在windows下,新建一个项目,使用VS2013编译时,会很慢很慢(尽管Co-x源项目已经编译过)。

经过摸索,究其原因是:3.x版本中,新建项目时是直接将Co-x相关的源项目复制到所建项目的指定目录,即新建项目引用的是复制后的Co-x源项目,这样VS编译新建项目时,就会把复制的Co-x源项目重新编译一遍,时间必然很长(就算ssd还是要20来分钟,要知道以前2.x编译新建项目时也就分分钟……)



二、解决方案(windows平台)


其实2.x版本并不是3.x这么做的,2.x中新建项目直接引用最初编译好的Co-x源项目,因此编译新建项目时,就不会重新编译原来的Co-x源项目。

那么解决方案就是按照2.x版本,引用最初编译好的Co-x源项目。

(这样做的前提是,你已经把Co-x引擎的“build”下的项目完整编译过一次)


具体步骤如下

1、用VS2013打开新建的项目,这里我新建的项目名为“HelloCpp”

技术分享


2、右键“移除”新建项目时复制的Co-x源项目(注意:此时不要直接编译,不然会等很长时间——如果你愿意等,那我没法咯 o(╯□╰)o)

技术分享


3、添加最初编译好的Co-x源项目,右键“解决方案” -》“添加”-》“现有项目”。

需要添加的项目及其路径如下表所示(即上一步移除的项目,这里我以Cocos2d-x-3.10为例):

项目名

项目路径

libcocos2dx

E:\Cocos2d-x\cocos2d-x-3.10\cocos\2d

libbox2d

E:\Cocos2d-x\cocos2d-x-3.10\external\Box2D\proj.win32

libbullet

E:\Cocos2d-x\cocos2d-x-3.10\external\bullet\proj.win32

librecast

E:\Cocos2d-x\cocos2d-x-3.10\external\recast\proj.win32

libSpine

E:\Cocos2d-x\cocos2d-x-3.10\cocos\editor-support\spine\proj.win32


技术分享


技术分享


技术分享


4、给新建的项目添加对应Co-x项目的依赖引用,右键“项目名”-》“属性”-》“通用属性”-》“引用”-》“添加新引用”

通常需要引用的有:libcocos2dx、libbox2d、libSpine(这一步必须有,不然会报错)


技术分享


技术分享


技术分享


技术分享


5、至此,一个新建项目就算改好了,现在可以直接用VS2013编译。这样一开始大概只需要1~2分钟的时间就能编译完成,比起之前20多分钟还是快了很多(如果你的电脑不是SSD的话,可能会慢一点儿)。

可以发现,重新添加的Co-x源项目在编译过程中直接被跳过,因为这是已编译过的项目,编译速度也就快很多了。

技术分享

而且项目的大小也只有700M,比起之前的好几个G,还是少了很多。

技术分享



三、吐槽一下


不理解Cocos2dx团队在3.x中为什么不沿用2.x的做法,而是直接复制Co-x源项目,要知道一个Co-x源项目编译后有好几个G呢,直接复制多占空间啊!这样做真是太鸡肋了,吐槽吐槽……

Cocos2dx 3.x 新建项目编译很慢的解决方案

标签:

原文地址:http://blog.csdn.net/crocodile__/article/details/51133835

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!