[问题]eclipse的大问题!!!

软件和网站开发以及相关技术探讨
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

[问题]eclipse的大问题!!!

#1

帖子 fanhe » 2007-05-19 4:18

保存文件提示如下错误:
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/backward_warning.h 警告: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated


选择运行后又弹出一个不知所谓的窗口,这个窗口到底怎么用,接着又弹出来个错误提示
晕,难道在linux下找个方便的c++图形编译环境就这么难吗?anjuta输入不了中文,kdevelop也编译不了c++,g++的编译又是命令行的。难道找个根vc++这样易用的软件就这么难吗?linux你怎么搞的啊???


郁闷死人了,睡觉!
附件
8.jpg
7.jpg
6.jpg
上次由 fanhe 在 2007-05-29 1:29,总共编辑 1 次。
skyboy
帖子: 31
注册时间: 2005-10-26 22:18

#2

帖子 skyboy » 2007-05-19 13:01

说话之前,仔细看过它给出的提示信息么?

<iostream.h>,这是十年前的用法了。
现在的哪本书上还这么用?

人家的提示信息里,也说的清清楚楚,
用<iostream>替换<iostream.h>

当然,下面想用cout的话,还要使用std命名空间。

自己不熟悉C++,
出了错不从自己身上找原因,
又不肯google之类的,
非一口咬定就是linux不好用!

你都把它的错误信息贴出来了,
就那么几句话,
难道你自己就懒得看一眼么?
随便看一眼,也不会再来这里发这种帖子啊?!
HP nx 6120,
cpu CM 1.5G,
chip 915GM,
memory 512M,
harddisk 40G 5400rpm。

ubuntu 7.04 feisty,
with beryl, etc.
skyboy
帖子: 31
注册时间: 2005-10-26 22:18

#3

帖子 skyboy » 2007-05-19 13:08

还有你怎么那么快就得出了“kdevelop也编译不了c++”的结论,并认定了“elipse的大问题!”
“linux你怎么搞的啊???”

这么快就鉴定完毕了?

你这种心态,是不适合用linux的。

安装--不好用--鉴定完毕,删除!

劝你赶紧把linux删掉吧。
HP nx 6120,
cpu CM 1.5G,
chip 915GM,
memory 512M,
harddisk 40G 5400rpm。

ubuntu 7.04 feisty,
with beryl, etc.
头像
依寻依然
帖子: 1617
注册时间: 2006-10-31 14:49

#4

帖子 依寻依然 » 2007-05-19 13:14

eclipse没问题。您的代码有问题,还有您不太会使用eclipse+cdt
可以参考eclipse的帮助文档
Borders are meant to be crossed
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

#5

帖子 fanhe » 2007-05-19 18:31

我现在学c++的那本书就是这样教的,Hello World程序能这样编译
#include<iostream.h>
void main ()
{cout<<"Hello World!"<<endl;
}
在anjuta和g++用只要报main函数的返回值改为int就能编译,而clipse编译不了,kdevelop也编译不了。
我用的教材是电子工业出版社出了《C++程序设计基础》,书上还有老师都是这样教的,没有办法。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

#6

帖子 fanhe » 2007-05-19 18:36

skyboy 写了:说话之前,仔细看过它给出的提示信息么?

<iostream.h>,这是十年前的用法了。
现在的哪本书上还这么用?

人家的提示信息里,也说的清清楚楚,
用<iostream>替换<iostream.h>

当然,下面想用cout的话,还要使用std命名空间。

自己不熟悉C++,
出了错不从自己身上找原因,
又不肯google之类的,
非一口咬定就是linux不好用!

你都把它的错误信息贴出来了,
就那么几句话,
难道你自己就懒得看一眼么?
随便看一眼,也不会再来这里发这种帖子啊?!
那个提示信息我也明白,但要用<iostream>替换<iostream.h>,又要用cout的话,还要使用std命名空间,而且endl也不能直接使用,我的教材可没有这样教过我的。
google过,这样的问题没有谁和我是一样的。
很奇怪的就是linux下几个ide还有编译器用的标准差别不小,对于菜鸟的我当然有这疑问啦!
现在用上了netbeans,基本上适合我了,只是那个main之前改为int就行了。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

#7

帖子 fanhe » 2007-05-19 18:38

skyboy 写了:还有你怎么那么快就得出了“kdevelop也编译不了c++”的结论,并认定了“elipse的大问题!”
“linux你怎么搞的啊???”

这么快就鉴定完毕了?

你这种心态,是不适合用linux的。

安装--不好用--鉴定完毕,删除!

劝你赶紧把linux删掉吧。
安装--不好用--鉴定完毕!
的确流程是这样,但我不会删除的。
现在找到了适合我的netbeans了,对我来说好用。
skyboy
帖子: 31
注册时间: 2005-10-26 22:18

#8

帖子 skyboy » 2007-05-19 19:10

好吧,
我上面的口气不大友好,向你道歉!

不过,
还是要告诉你:

那几个IDE虽有不同,后台编译器其实都是gcc。

另外:
扔掉你现在用的教材吧!
你上面的代码的头文件、名字空间、main函数返回值,都不符合现在的标准。
这种用法老了,过时了;仅仅是C++尚未标准化时代的产物。

C++标准出台之后,不管是gcc还是微软的VC或者其他公司的C++编译器,
都在不断向标准靠拢。

一个程序员,
也要养成向标准靠拢,编写规范代码的习惯。
这样,
才能保证代码的可移植性等。

C++的国际标准文档: http://zlokay.googlepages.com/CStandard.pdf
1998年第一版。
17.1.4.2节列举了C++标准库的头文件。
3.6.1节提到了main函数的标准形式。
看看吧。
这些标准真的是十年前就出现了。(夸张了,到现在才九年)

扔掉那本误人子弟的教材吧。
上次由 skyboy 在 2007-05-19 19:38,总共编辑 4 次。
HP nx 6120,
cpu CM 1.5G,
chip 915GM,
memory 512M,
harddisk 40G 5400rpm。

ubuntu 7.04 feisty,
with beryl, etc.
头像
FFFrog
帖子: 621
注册时间: 2006-05-12 23:28
来自: 江西乐平
联系:

#9

帖子 FFFrog » 2007-05-19 19:27

的确的,楼主使用的教材,所遵循的C++标准太古老了。开发环境完全可以选择不支持10年前的过时的标准,这太正常不过了。其实这几个环境,后台的编译器还不都是gcc?有的能支持void返回值的main之类,应该是调用编译器时的参数不同。

CDT我觉得还是很好用的。 :)

学习语言,真的建议使用一本内容较新、对读者负责的好书。像C++这种庞大、高深的语言,一般的国内图书更是没法讲清楚。的确是像楼上说的“误人子弟“的严重程度!老师是怎样讲的,也一样没有关系。我也听过自己学校开的C++课程,任课老师的水平实在是不敢恭维。没必要迷信老师。
antonym55
帖子: 353
注册时间: 2007-04-03 9:52
联系:

#10

帖子 antonym55 » 2007-05-19 19:33

fanhe 写了: 在anjuta和g++用只要报main函数的返回值改为int就能编译,而clipse编译不了,kdevelop也编译不了。
我用的教材是电子工业出版社出了《C++程序设计基础》,书上还有老师都是这样教的,没有办法。
anjuta, eclipse, Kdevelop 只是个IDE,它本身不具备编译能力
编译工作是由gcc 或 g++来完成,
用IDE能不能编译成功,
与你写的代码, 工程的设置,Makefile的写法有关。

什么叫没有办法?
阿拉伯谚语 写了: 如果你不想做一件事你会找到一个借口. 如果你想做一件事情你会找到一个办法。
fanhe 写了: 很奇怪的就是linux下几个ide还有编译器用的标准差别不小,对于菜鸟的我当然有这疑问啦!
你说的几个IDE编译c++默认都是用的同一种编译器“g++”, c++ 只有一个标准 就是ISO C++,
不像c有两个标准C89 和 C99。不同的编译器可能存在对标准的支持不同,同一种编译器,
不可能有不同的标准。

如果你不知道ISO C++的main是怎么写的,问一下你们老师,我就不信他(她)不知道该怎么写,

连这也不知道怎么当的老师? 我看多半是你自己的原因。
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#11

帖子 karron » 2007-05-19 19:45

国内还真有有好多老师都不知道标准C++为何物. 国内的C++教程基本都是垃圾, 里面基本就是把c语言的东西拼拼凑凑, 再加上一点类, 就成了c++教材.

要学C++, 还是看国外的经典著作吧.
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

#12

帖子 fanhe » 2007-05-20 1:17

:em06
其实我的专业不是计算机类的,只是对编程比较感兴趣而已...
希望以后还有时间看c++的东西...
-------------------------------华丽的分割线--------------------------------
先告诉我下图的窗口有什么用吧,我编译成功了一个c++的源码,点了运行后就弹出这个窗口,应该怎么搞?
附件
11.jpg
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

#13

帖子 fanhe » 2007-05-20 1:39

再有一个问题
由于我是刚刚开始学c++,很多时候都是编辑一个源文件,而eclipse要编译源文件只少要新建一个项目,当测试完一个源码后,我想测试另外一个而又不想删除上面的那个源码,这样我又被逼新建一个项目,然后新建一个源码,这样很累人啊。
有没有办法能弄成好像anjuta和vc++一样,能单独新建一个源文件,直接编译运行?
头像
依寻依然
帖子: 1617
注册时间: 2006-10-31 14:49

#14

帖子 依寻依然 » 2007-05-20 13:01

您可以学习如何使用gcc,这些命令记住了的话,会大大加快编译速度
那时候可以抛弃很多IDE了
Borders are meant to be crossed
头像
titainium
帖子: 689
注册时间: 2006-12-02 12:25

#15

帖子 titainium » 2007-05-20 16:46

偶现在都用VI的说
Titainium
回复