cocos2dx3.0-执行cocos compile -p win32 命令出现错误 MSB8020 以及编译出来的exe 无法打开的问题

时间:2023-03-09 04:24:02
cocos2dx3.0-执行cocos compile -p win32 命令出现错误 MSB8020 以及编译出来的exe 无法打开的问题

本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/

当博主准备把cocos工程用cocos命令行编译出来的时候,报出了MSB8020的错误,具体如下。

cocos2dx3.0-执行cocos compile -p win32 命令出现错误 MSB8020 以及编译出来的exe 无法打开的问题
读完错误提示可知是因为编译工程需要的工具集是v110(vs2012的默认工具集),而博主使用的是vs2013,自带的工具集是v120版本的,所以无法使用,提示中给出的办法是点击project(alt+p)菜单或者右击vs左边的解决方案,然后点击"Update VC++ Projects..."选项对解决方案进行升级,然而博主并没有找到这个选项,所以只能找别的解决办法。
在热情网友的帮助下,找到以下两个解决办法。
1,右击vs里报错的项目的名字选择属性,然后查看平台工具集那一项,选择使用v110工具集,然后重新编译整个工程,注意使用v110工具集的时候,某些c++ 11的新特性得不到支持,可能会报很多错,要细心修改原代码。
cocos2dx3.0-执行cocos compile -p win32 命令出现错误 MSB8020 以及编译出来的exe 无法打开的问题
2,如果发现自己的vs并没有v110工具集,还可以直接手动修改出错的项目的.vcxproj文件,修改方式如下。
找到配置文件中的这一行。
cocos2dx3.0-执行cocos compile -p win32 命令出现错误 MSB8020 以及编译出来的exe 无法打开的问题
把所有上面的文字都换成下面这个样子。
cocos2dx3.0-执行cocos compile -p win32 命令出现错误 MSB8020 以及编译出来的exe 无法打开的问题
然后保存。
之后就可以用v120编译项目了,但是这个时候仍然用的是v110工具集的标准,所以有些c++ 11的新特性会失去支持从而导致原本正常的程序报错,需要我们自己修改源代码。
最后我想说的是,这个编译指令得到的一堆文件和用vs上cocos2dx3.0-执行cocos compile -p win32 命令出现错误 MSB8020 以及编译出来的exe 无法打开的问题