g++编译出错.../usr/include/c++/3.2.2/backward/iostream.h...

foomscat 2004-06-23 03:13:25
demo:
#include <iostream.h>
int main(void)
{
cout<<"gnu c++"<<endl;
return 0;
}
error:
In file included from /usr/include/c++/3.2.2/backward/iostream.h:31,
from wen.c:1:
/usr/include/c++/3.2.2/backward/backward_warning.h:32:2: warning: #warning This.
/usr/bin/ld:???????"--eh-frame-hdr"
/usr/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status

这是什么原因呢?
...全文
291 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
groock 2004-06-25
  • 打赏
  • 举报
回复
对的,g++ 编译.cpp
gcc for .c
foomscat 2004-06-25
  • 打赏
  • 举报
回复
呵呵
yoyoyosiyu 2004-06-24
  • 打赏
  • 举报
回复
To jellen(类痴狂人):

谢谢你!按照你的方法我已经搞定。之所以我分成两步,是想说明是在编译阶段出错,还是链接阶段出错。
jellen 2004-06-23
  • 打赏
  • 举报
回复
我认为这是因为你命令用错了。
gcc(GNU Compiler Collection)是一系列编译器的组合, gcc命令仅适合编译C程序。
如果你要编译C++程序,请使用g++命令,比如:
g++ -o demo demo.cpp

-------------------------
gcc -c demo.cc -o demo.o
-------------------------
我感觉这样编译有点古怪,为什么不直接:g++ -o demo demo.cpp
我只有需要连接多个源文件才用"-c"选项生成目标文件,然后用“-o”连接生成可执行文件。
yoyoyosiyu 2004-06-23
  • 打赏
  • 举报
回复
To: jellen(类痴狂人)

为什么你上面的这段程序用如下命令编译可以通过:
gcc -c demo.cc -o demo.o

但是用下面的命令链接时会报错:
gcc demo.o -o demo

出错的信息大概是 undefined reference : xxxxxxx,
是不是链接库的问题。我用的linux 系统是 redhat 的 Fedora Core2,如何解决这个问题。
jellen 2004-06-23
  • 打赏
  • 举报
回复
g++支持标准C++头文件格式,应该这样:

#include <iostream>
using namespace std;

int main(void)
{
cout<<"gnu c++"<<endl;
return 0;
}

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧