Vs2010中运行cocos2d-2.0-x-2.0.4的时候,若出现如下错误:
错误描述如下:
1>正在编译资源...
1>正在编译资源清单...
1>正在链接...
1>CVTRES : fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x0409
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
1>生成日志保存在“file://c:\WTL80_7108_Beta1\Samples\BmpView\Debug\BuildLog.htm”
1>BmpView - 2 个错误,1 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
解决方法一:
项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
解决方法二:
不使用: 项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。 项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加_CRT_SECURE_NO_DEPRECATE 一次解决:
C:\Program Files\Microsoft Visual Studio
10.0\VC\bin
C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65
C:\Windows\Microsoft.NET\Framework\v4.0.30319
这三个路径里面都有cvtres.exe文件,尝试使用第二个路径里面的文件替换第一个路径的文件,问题解决。
(这个问题是windows自动更新造成编译器cvtres.exe的版本过低,如果windows再次更新,则还可能出现这样的问题,届时再重复一下上述步骤即可。)
(3)"无法找到“XXX.exe”的调试信息,或者调试信息不匹配。。。
今天调试一C++程序,按下F5,老是弹出一对话框显示信息:
debugging information for ‘myproject.exe‘ cannot be found or
does not match. No symbols loaded.
翻译成中文大概就是:不能找到‘myproject.exe‘ 的调试信息或者调试信息不匹配。符号文件未加载。
起初,我以为是没有生成.pdb文件的缘故,于是,我右击项目文件,点击属性,展开配置属性节点,展开C/C++节点, 点击了General后把Debug
Information Format设置为:Program Database for Edit & Continue(/ZI). 跟着,又检查了其它选项,并且确信在项目文件的Debug文件夹下生成了相应的.pdb文件。
可是做了这些,还是没用。仍然弹出那个该死的对话框。
我于是另外新启动了一个VS实例,新建了一个简单的工程,按下F5, 调试没问题,嘿,这问题到底出在哪儿呢??
然后,我心想,你丫狠!看来我得来点比你更狠的,于是乎,我干脆运行咱的.exe文件,然后单击Visual Studio 的Tools菜单,选择Attach to process..., 并找到我的应用程序,还是没用!!!!我要发疯了!!!!
关键时刻咱得保持冷静!!!!分析下!
第一,我这个工程是前几天做过的。
第二,.pdb文件有,手动加载文件也试过。不过没用。
第三,新建一个项目调试,没问题。
脑袋里突然冒出:是不是.suo文件在作怪??
------解决方案-----
1. 关闭掉Visual
Studio 实例。
2. 找到解决方案下的.suo文件并删除之。
3. 重新启动Visual
Studio,或者直接双击.sln文件打开
4. 成功调试程序!
后来意识到这是Visual Studio非常严重的问题。因为.suo貌似非常容易损坏,但是它里面包含了许多调试信息,包括项目的打开文件列表、所有的断点、以及监视窗口中所有的内容。
可以运行如下命令来删除掉该文件:del /f /a:h /s *.suo
希望对遇到该类问题的朋友有所帮助!!欢迎提出问题讨论!
另外 有一些解决方法:
首先打开菜单 项目->项目属性页
选择 配置属性->链接器->调试->生成调试信息 改为 是
选择 配置属性->C/C++
->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI)
选择 配置属性->C/C++
->优化->优化 改为 禁用(/Od)