关于“error C2871: 'std' : does not exist or is not a namespace”和“Error spawning cl.exe“的解决办法
2013-11-12 12:40
756 查看
今天在使用VC6运行程序的时候出现了几个新的error,以前没有碰到,总结一下,希望对其他同学有帮助:
1.Error spawning cl.exe
错误分析:
这个error一般在点击“Compile”或者“Build”后出现的:“Compiling... ,Error spawning cl.exe”,“cl.exe”是VC使用的真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,所以出现这个错误实际上是因为cl.exe路径设置出错造成的,这个默认路径是在程序安装好之后自动设置的,是没有问题的,但是有时候在安装一些软件的时候会自动修改这个路径值,导致运行的vc的时候找不到这个路径。
解决办法:
打开vc界面点击VC“TOOLS(工具)”—>“Option(选择)” —>“Directories(目录)”重新设置“Excutable Fils、Include Files、Library Files、Source Files”的路径。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行。关键是microsoft visual studio\ 后面的东西要相同。
#include<iostream.h>
using namespace std;
int main(){
cout<<"hello"<<endl;
return 0;
}
出现了error C2871: 'std' : does not exist or is not a namespace这个错误!
错误分析:
C++有两个不同版本的头文件:<iostream.h>和<iostream>。引入namespace这个概念以前编译器用的是#include <iostream.h>,而引入namespace的概念以后引用std名字空间的头文件则变成了<iostream>。<iostream.h>是比较老的C++的头文件的版本,而namespace是98年才被加入C++标准的,所以<iostream.h>里面是没有std这么个命名空间的,当使用 <iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现。头文件<iostream>则没有定义全局命名空间,使用时必须使用namespace
std才能正确使用cout。
vc6.0支持这个两个版本. 不过现在都用<iostream>了
解决办法:
#include <iostream>
using namespace std;
或者是
#include <iostream.h>即可。
1.Error spawning cl.exe
错误分析:这个error一般在点击“Compile”或者“Build”后出现的:“Compiling... ,Error spawning cl.exe”,“cl.exe”是VC使用的真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,所以出现这个错误实际上是因为cl.exe路径设置出错造成的,这个默认路径是在程序安装好之后自动设置的,是没有问题的,但是有时候在安装一些软件的时候会自动修改这个路径值,导致运行的vc的时候找不到这个路径。
解决办法:
打开vc界面点击VC“TOOLS(工具)”—>“Option(选择)” —>“Directories(目录)”重新设置“Excutable Fils、Include Files、Library Files、Source Files”的路径。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行。关键是microsoft visual studio\ 后面的东西要相同。
2.error C2871: 'std' : does not exist or is not a namespace
当我在vc6中运行程序:#include<iostream.h>
using namespace std;
int main(){
cout<<"hello"<<endl;
return 0;
}
出现了error C2871: 'std' : does not exist or is not a namespace这个错误!
错误分析:
C++有两个不同版本的头文件:<iostream.h>和<iostream>。引入namespace这个概念以前编译器用的是#include <iostream.h>,而引入namespace的概念以后引用std名字空间的头文件则变成了<iostream>。<iostream.h>是比较老的C++的头文件的版本,而namespace是98年才被加入C++标准的,所以<iostream.h>里面是没有std这么个命名空间的,当使用 <iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现。头文件<iostream>则没有定义全局命名空间,使用时必须使用namespace
std才能正确使用cout。
vc6.0支持这个两个版本. 不过现在都用<iostream>了
解决办法:
#include <iostream>
using namespace std;
或者是
#include <iostream.h>即可。
相关文章推荐
- 关于error C2871: ''std'' : does not exist or is not a namespace处理
- 关于VC中 error C2871: 'std' : does not exist or is not a namespace
- C++ 编译出现: error C2871: 'std' : does not exist or is not a namespace 怎么解决
- 关于VC中 error C2871: 'std' : does not exist or is not a namespace
- 关于VC中 error C2871: 'std' : does not exist or is not a namespace
- 转:关于VC中 error C2871: 'std' : does not exist or is not a namespace
- 关于VC中 error C2871: 'std' : does not exist or is not a namespace
- 关于VC中 error C2871: 'std' : does not exist or is not a namespace
- error C2871: 'std' : does not exist or is not a namespace
- error C2871: 'std' : does not exist or is not a namespace
- error C2871: 'std' : does not exist or is not a namespace
- rerebbs does not exist or is not a readable directory解决办法
- Error:The type or namespace name 'Office' does not exist in the namespace 'Microsoft' 解决方法
- 关于Files' name is invalid or does not exist的解决方法
- 关于Service 'XXXX' of type 'MapServer' does not exist or is inaccessible问题的解决
- [EntLib]解决The type or namespace name 'Data' does not exist in the namespace 'Microsoft.Practices.EnterpriseLibrary' 的错误
- VC6.0出现“Error spawning cl.exe”的解决办法
- Error starting the test run: Build directory of the test run is not specified or does not exist
- vc6.0中出现Error spawning cl.exe 错误解决办法
- vc6.0中出现Error spawning cl.exe 错误解决办法