100个windows平台C++开发错误之一VS操作

更多精彩内容,请见:http://www.16boke.com


by zxy,Java/C++编程交流群:168424095

(1) Ctrl+F查找失效,提示: 查找进行的过程中被停止。

解决方法:按下Ctrl+Break即可。

(2) PRJ0019: 某个工具从以下位置返回了错误代码:"正在执行预生成事件..." 

项目->属性->生成事件->预链接事件:从生成中排出否改为是。

(3) Project:error PRJ0050:未能注册输出,请确保您有修改注册表的相应权限

右键点击项目名称->属性->清单工具->常规->使用FAT32解决方法选择是。

(4) mt.exe :general error c101008d: Failed to write theupdated manifest to the resource of file "./Release/XXX".

网上的解决办法有三种:

1,在项目属性——配置属性——链接器——清单文件中,把生成清单改成否就行了。

2,在项目属性——配置属性——清单工具——输入和输出中,把嵌入清单改成否也行。

3,如果编译前将所有打开的与该项目有关的文件都关掉,也可以解决问题。同时还提到一个根本原因:

根本原因: 由于VC需要把生成的文件中嵌入MANIFEST文件,而由于杀毒软件之类的会握有这个文件句柄(因为杀毒软件发现这个EXE,DLL正在读写),于是VC就写不进去了,方法是暂时关闭杀毒软件,这样就不用改写MANIFECT把项目属性页-> C/C++->优化,把优化禁用掉就可以了(在release下默认是最大化速度优化)。

(5) Debug运行时,报错:没有找到MSVCP90D.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。

不是太理解,网上找到的两种方法都用过,也都解决了问题,你试试吧。

方法一:不启用增量链接。在项目的属性|配置属性|链接器|常规中的启用增量链接选择。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是否更新清单文件。

方法二:项目属性->配置属性->链接器->调试->生成映射文件选择Yes(/MAP)

原因是:VS2008下用的是UNICODE字符集。有的时候需要设成多字节字符集。项目-属性-配置属性-常规-字符集改成使用UseMulti-Byte Character Set字符集。


更多精彩内容,请见:http://www.16boke.com

你可能感兴趣的:(100个windows平台C++开发错误之一VS操作)