VC开发常见100错误(1)---VS操作

来源:互联网 发布:达内培训java费用 编辑:程序博客网 时间:2024/06/08 07:46

(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字符集。

(6)当前不会命中断点。源代码与原始版本不同

全选CPP文件内容,选择 “编辑”->“高级”->“设置选定内容的格式”,保存,重新编译。

这个问题的根源应该就是调试运行时使用的dll与你调试下断的源码不符。只不过造成dll与下断的源码不符的操作可能五花八门,有的人觉得自己的操作是无懈可击的,为什么还出现这种问题。其实来自环境的或者其他的因素你根本就没想到。比如:exe和dll的开发工具版本不同,或一个是debug版本一个是release版本等。最简单直接的办法就是打开:调试->窗口->模块,看看你加载的模块是不是你生成的那个dll。

(7)generalerror c1010070: Failed to load and parse themanifest. {_~0p'1a@'7v _

从“解决方案资源管理器”里面删除相应的manifest文件,即可。或者在资源中加入这个manifest文件。

(8) fatal error C1900

错误描述:使用VS2008,debug成功,但Release时会报错fatal error C1900的link错误:

Fatal error C1900:II mismatch between ‘p1’ version ‘20080116’ and ‘p2’ version ‘20070207’

解决方法:安装SP1插件。

(9) R6043 An application has made an attempt toload the Cruntime library without using a manifest.This is an unsupported wayto loadvisual C++ Dlls.You need to modify your application to build with amanifest.

解决方法:首先:右键点击项目名称->属性->清单工具->常规->使用FAT32解决方法选择是;接着删除Debug目录,重新编译。

(10)fatal error C1083:Cannot open precompiledheaderfile:’Release\XXX.pch’:No such file or directory

右键点击项目工程中的cpp文件->属性->C/C++->预编译头->创建/使用预编译头选择选择不使用预编译头。


0 0
原创粉丝点击