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

软件和网站开发以及相关技术探讨
回复
头像
lufee
帖子: 12
注册时间: 2008-05-05 13:08

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

#1

帖子 lufee » 2009-07-09 22:09

不知道为啥,所有的库都装了,一个很简单的显示"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
头像
windwhinny
帖子: 618
注册时间: 2007-09-26 17:34

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

#2

帖子 windwhinny » 2009-07-09 22:15

#include <iostream>试试?
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

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

#3

帖子 wangdu2002 » 2009-07-09 22:16

c++里尖括号里不要.h的后缀,直接用<iostream>就行了。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
lufee
帖子: 12
注册时间: 2008-05-05 13:08

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

#4

帖子 lufee » 2009-07-10 12:22

试了,还是一样。。。。 :em20
这回的提示:
test.cpp:In function 'int main()':
test.cpp:4:错误:'cout'在此作用域尚未声明
test.cpp:4:错误:'endl'在此作用域尚未声明
上次由 lufee 在 2009-07-10 12:28,总共编辑 1 次。
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

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

#5

帖子 HuntXu » 2009-07-10 12:24

c++的头文件没齐?
HUNT Unfortunately No Talent...
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

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

#6

帖子 cnkilior » 2009-07-10 12:34

楼主你学的C++还要回炉!

代码: 全选

#include <iostream>

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

代码: 全选

gcc -lstdc++ a.cpp -o hello
t3swing
帖子: 1028
注册时间: 2008-11-01 21:42
来自: 树下板凳

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

#7

帖子 t3swing » 2009-07-10 12:50

试了,还是一样。。。。
:em04
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
头像
lufee
帖子: 12
注册时间: 2008-05-05 13:08

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

#8

帖子 lufee » 2009-07-10 12:51

我在usr/include/C++下有两个文件夹一个是4.3,另一个是4.3.3,里面都有iostream文件,库应该是全的吧?
dbzhang800
帖子: 3182
注册时间: 2006-03-10 15:10
来自: xi'an China
联系:

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

#9

帖子 dbzhang800 » 2009-07-10 12:52

1.头文件不带.h

#include <iostream>

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

using namespace std;

或者
std::cout
std::endl
头像
lufee
帖子: 12
注册时间: 2008-05-05 13:08

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

#10

帖子 lufee » 2009-07-10 12:54

多谢多谢。。。呵呵。搞定了。六楼的兄弟果然是高手。唉,我继续学C++去。。。。
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

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

#11

帖子 tusooa » 2009-07-14 10:42

代码: 全选

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

代码: 全选

g++ -Wall -o name name.cpp

代码: 全选

] ls -ld //
头像
xiaocheng_zh
帖子: 46
注册时间: 2009-05-30 15:52
来自: DL LIAONING CHN

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

#12

帖子 xiaocheng_zh » 2009-07-14 21:30

看啥书啊,咋学的C++,哎!!!!
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

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

#13

帖子 自由建客 » 2009-07-15 15:08

不要说楼主了,那代码虽是老代码,但编译不过显然是环境有问题,肯定是落了什么没装。我承认 ubuntu 在这方面有很大问题。
月光林地的猫
帖子: 37
注册时间: 2009-06-27 23:33

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

#14

帖子 月光林地的猫 » 2009-07-19 17:12

错误1:
iostream.h是系统的头文件,不要加后缀.h
正确的是:

代码: 全选

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

代码: 全选

using namespace std;
[/color]
最后的建议:在好好的复习下C/C++基础的东西。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

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

#15

帖子 自由建客 » 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++ 基础的东西。
回复