分页: 1 / 1

无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-09 22:09
lufee
不知道为啥,所有的库都装了,一个很简单的显示"hello world"在C下能正常编译和运行,但使用C++语言就提示没有iostream.h文件。
我的源程序如下:
#include <iostream.h>
int main(void)
{
cout<<"hello world!!!"<<endl;
return 0;
}
相当简单的一个程序,其实只是想测试下而已。
在终端下输入下面的命令:
$ g++ -o test test.cpp
输出如下:
test.cpp:1:22:错误: iostream.h:没有该文件或目录
test.cpp:4:错误:'cout'在此作用域中尚未声明
test.cpp:4:错误:'endl'在此作用域中尚未声明
:em20 无语唉。
确认该装的都装了,C++的库中的iostream.h我都能手动找得到,怎么就不认识那个库。也谷歌了许多,结果还是解决不了。 问题出在哪,高手来帮忙。 :em06

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-09 22:15
windwhinny
#include <iostream>试试?

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-09 22:16
wangdu2002
c++里尖括号里不要.h的后缀,直接用<iostream>就行了。

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-10 12:22
lufee
试了,还是一样。。。。 :em20
这回的提示:
test.cpp:In function 'int main()':
test.cpp:4:错误:'cout'在此作用域尚未声明
test.cpp:4:错误:'endl'在此作用域尚未声明

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-10 12:24
HuntXu
c++的头文件没齐?

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-10 12:34
cnkilior
楼主你学的C++还要回炉!

代码: 全选

#include <iostream>

int main(int argc,char *argv[])
{
     using namespace std;
     cout<<"hello C++!"<<endl;
}

代码: 全选

gcc -lstdc++ a.cpp -o hello

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-10 12:50
t3swing
试了,还是一样。。。。
:em04

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-10 12:51
lufee
我在usr/include/C++下有两个文件夹一个是4.3,另一个是4.3.3,里面都有iostream文件,库应该是全的吧?

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-10 12:52
dbzhang800
1.头文件不带.h

#include <iostream>

2. cout ,endl在std名字空间内!

using namespace std;

或者
std::cout
std::endl

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-10 12:54
lufee
多谢多谢。。。呵呵。搞定了。六楼的兄弟果然是高手。唉,我继续学C++去。。。。

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-14 10:42
tusooa

代码: 全选

#include <iostream>
using namespace std;
int main(void)
{ 
 cout<<"hello world!!!"<<endl; 
 return 0;
}

代码: 全选

g++ -Wall -o name name.cpp

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-14 21:30
xiaocheng_zh
看啥书啊,咋学的C++,哎!!!!

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-15 15:08
自由建客
不要说楼主了,那代码虽是老代码,但编译不过显然是环境有问题,肯定是落了什么没装。我承认 ubuntu 在这方面有很大问题。

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-19 17:12
月光林地的猫
错误1:
iostream.h是系统的头文件,不要加后缀.h
正确的是:

代码: 全选

#include <iostream>
[/color]
错误2:
cout 和cin都是C++ 标准名字空间域的成员。要使用它们先要用using声明

代码: 全选

using namespace std;
[/color]
最后的建议:在好好的复习下C/C++基础的东西。

Re: 无法编译C++,C却能正常编译,汗。。。。求助

发表于 : 2009-07-19 20:01
自由建客
月光林地的猫 写了:错误1:
iostream.h是系统的头文件,不要加后缀.h
正确的是:

代码: 全选

#include <iostream>
[/color]
错误2:
cout 和cin都是C++ 标准名字空间域的成员。要使用它们先要用using声明

代码: 全选

using namespace std;
[/color]
最后的建议:在好好的复习下C/C++基础的东西。
C++ 标准规定的新式头文件确实没有 .h ,不建议使用 .h 的老式头文件。但若编译器不认 .h 则纯属编译环境有问题。
用 iostream 确实需要 using namespace std; 但用 iostream.h 的确不需要。
最后的建议:不要把“不建议”说成“错误”,以免误导他人。楼主的代码没有任何错误,编译环境有问题要敢于承认。再好好的复习下 C++ 基础的东西。