cocos2dx vs2013 android,Cocos2d-x 3.x下使用VS2013进行项目打包的经验

Cocos2d-x 3.x的自动打包功能是可以支持VS2013的,但是由于自动创建的项目中使用了VS2012的解决方案文件,导致cocos2d-x打包在寻找编译器时,无法找到VS2012的编译器而宣告打包失败。实际上你需要的只是VS2013的编译器不是么。

Cocos2d-x 3.x的编译

Cocos2d-x 3.x的编译工具与新项目创建工具相同,同样是运行cocos命令,只是参数不一样了。在命令行中,更改当前目录为你的项目目录,确保当前目录中存在“.cocos-project.json”文件,该文件很重要,是cocos命令确认项目属性的关键文件。执行以下指令可以开始编译:

cocos compile -p 平台名称 -m [debug|release]

平台名称即是你所看到的目录中proj.后面的那些名字,比如win32、android等,指定不同的平台名称,会编译不同的平台。-m指定是以debug模式打包还是release模式。打包后的程序会出现在publish目录中以平台命名的目录中。

如果执行以下命令

cocos run -p 平台名称 -m [debug|release]

将在编译完成后直接启动编译后的程序,如果执行的是Android程序,你需要先用USB连接开启了调试模式的Android设备,因为虚拟设备中没有硬件加速,不能运行cocos2d应用。

使用VS2013的编译器进行编译

在仅安装有VS2013的机器上执行编译时,会提示无法找到VS2012的编译器。我们用的是VS2013,当然找不到VS2012的。这个问题是由于cocos在寻找编译器时,是根据解决方案(.sln)文件中的内容来决定选择哪个编译器的。虽然我们用VS2013转换了cocos2d-x提供的VS2012的解决方案,但是sln文件里依旧写的是2012的信息。所以,一劳永逸的办法就是修改cocos命令。当然你也可以修改sln文件内容,不过这个方法不推荐,因为这样有可能会有损坏sln文件的风险,一切以保证项目的安全为准。

进入cocos2d的根目录,打开tools\cocos2d-console\plugins\project_compile目录中的project_compile.py文件,最好使用sublime text或者notepad++之类的编辑器,会比较好寻找行号。不用理会那个同样名字的pyc文件,pyc文件会在py文件发生更改后,重新编译生成。在文件中寻找以下这个方法

def _get_required_vs_version(self, proj_file):

# get the VS version required by the project

file_obj = open(proj_file)

pattern = re.compile(r"^# Visual Studio (\d{4})")

num = None

for line in file_obj:

match = pattern.match(line)

if match is not None:

num = match.group(1)

break

if num is not None:

if num == "2012":

ret = "11.0"

elif num == "2013":

ret = "12.0"

else:

ret = None

else:

ret = None

return ret

看到这个对于2012和2013的判断了么,所有问题就出在这个地方。不要修改那些将ret设置为None的地方,直接将ret = "11.0"改为ret = "12.0"即可。保存后重新开始编译,VS2013的编译已经可以找到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值