VS2005和VS2010编译报错
我在使用vs2005和vs2010编写C++时,用到iostream.h,编译报错说无法打开"msvcirtd.lib"文件,问下怎么解决啊,预先感谢!!...
我在使用vs2005和vs2010编写C++时,用到iostream.h,编译报错说无法打开"msvcirtd.lib"文件,问下怎么解决啊,预先感谢!!
展开
3个回答
展开全部
你看看下面写的,也许会有帮助
iostream.h与<iostream>
下面的代码为什么在VC2010下面编译不过去?
#include <iostream.h>
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
错误信息:fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory
造成这个错误的原因在于历史原因,在过去C++98标准尚未订立的时候,C++的标准输入输出流确实是定义在这个文件里面的,这是C风格的定义方法,随着C++98标准的确定,iostream.h已经被取消,至少在VC2010下面是这样的,取而代之的是我们要用<iostream>头文件来代替,你甚至可以认为<iostream>是这样定义的:
namespace std
{
#include "iostream.h"
}
因此我们可以简单的修改我们的Hello World。
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
iostream.h是属于C++的头文件,而非C的,因此标准订立的时候被改成了<iostream>。而C的头文件stdio.h等依然可以继续使用,这是为了兼容C代码。但是它们依然有对应的C++版本,如<cstdio> <cstdlib>等。记住,在VC2010上面采用C++风格的头文件而不是C风格的头文件,除非你是在用C。
iostream.h与<iostream>
下面的代码为什么在VC2010下面编译不过去?
#include <iostream.h>
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
错误信息:fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory
造成这个错误的原因在于历史原因,在过去C++98标准尚未订立的时候,C++的标准输入输出流确实是定义在这个文件里面的,这是C风格的定义方法,随着C++98标准的确定,iostream.h已经被取消,至少在VC2010下面是这样的,取而代之的是我们要用<iostream>头文件来代替,你甚至可以认为<iostream>是这样定义的:
namespace std
{
#include "iostream.h"
}
因此我们可以简单的修改我们的Hello World。
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
iostream.h是属于C++的头文件,而非C的,因此标准订立的时候被改成了<iostream>。而C的头文件stdio.h等依然可以继续使用,这是为了兼容C代码。但是它们依然有对应的C++版本,如<cstdio> <cstdlib>等。记住,在VC2010上面采用C++风格的头文件而不是C风格的头文件,除非你是在用C。
展开全部
我在微软官网找到的一个解答。
mony:
msvcirtd.lib
is the import library for msvcirtd.dll, which in VC6 contained the
(debug version of the) old iostream library. This library no longer
exists in VS2002 and beyond (and should not have been used in VC6
either).
我帮你翻译一下吧
msvcirtd.lib是在动态链接库msvcirtd.dll中引入的库文件,是VC 6.0使用的老版本iostream库。这个库已经不存在于vs2002和之后的版本。
我觉得你应该是在安装玩VS软件之后,安装的VC6.0.所以将VS的库屏蔽掉了。使用了VC的库。当VS调用时,调用的是旧版的库,所以产生问题。
比较简单的解决方法是重新安装VS软件。
麻烦一点的就是自己手动在编译选项里面添加这个库文件。
我觉得还是重装比较方便,且一劳永逸
mony:
msvcirtd.lib
is the import library for msvcirtd.dll, which in VC6 contained the
(debug version of the) old iostream library. This library no longer
exists in VS2002 and beyond (and should not have been used in VC6
either).
我帮你翻译一下吧
msvcirtd.lib是在动态链接库msvcirtd.dll中引入的库文件,是VC 6.0使用的老版本iostream库。这个库已经不存在于vs2002和之后的版本。
我觉得你应该是在安装玩VS软件之后,安装的VC6.0.所以将VS的库屏蔽掉了。使用了VC的库。当VS调用时,调用的是旧版的库,所以产生问题。
比较简单的解决方法是重新安装VS软件。
麻烦一点的就是自己手动在编译选项里面添加这个库文件。
我觉得还是重装比较方便,且一劳永逸
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你最好用#include <iostream>
using namespace std;吧
using namespace std;吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询