关于Visual C++2005编译过程中出现的问题知道的高手告诉我下。

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:57:47
我是个新手最近才学C++的,几乎一切从零开始所,所以还希望大家指点下,不要让我老是碰壁。
代码如下#include <iostream>
using namespace std;
int main()
{
cout<<"第一个程序\n";
return 0;
}
运行后却出现了。。
'第一个程序.exe': Loaded 'D:\Backup\我的文档\Visual Studio 2005\Projects\第一个程序\debug\第一个程序.exe', Symbols loaded.
'第一个程序.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'第一个程序.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
Debugger:: An unhandled non-continuable STATUS_DLL_NOT_FOUND exception was thrown during process load
The program '[184] 第一个程序.exe: Native' has exited with code -1073741515 (0xc0000135).
提示错误:没有找到MSVCP80D.dll导致程序无法启动。
我是按Ctrl+F5
运行后提示:没有找到MSVCP80D.dll因此这个应用程序未能启动。 说的尽量的清楚点,我用的是英文版的该怎么操作?

此问题的原因是由于VS 2005在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑器打开看看),并在链接完成后将该清单文件嵌入到exe文件中(默认情况下)。而在FAT32文件系统中,在处理清单文件阶段,当增量链接时不能完成清单文件的更新(默认情况下),于是造成清单文件嵌入失败,从而使该 exe文件运行时没有相应的清单文件而运行失败并提示如上错误。而在NTFS文件系统中则不会出现上面的问题。

比较好的解决方案有两个:

1.在项目的“属性|配置属性|清单工具|常规”中的“使用FAT32解决办法”选择“是”(默认为“否”),重新生成项目即可解决问题。如下图所示: (图略)

2.不启用增量链接。在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是否更新清单文件。(http://hi.baidu.com/sunglows/blog/item/7f90ef08c9539785d0581b3a.html

英文版的也是一样的。。。。

你按F5运行的吧,那个是调适信息

你按ctrl +f5运行