LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 737|回复: 8

刚安好gcc3.4.0!可是不会用!:(编译总是出错!

[复制链接]
发表于 2004-8-26 12:38:25 | 显示全部楼层 |阅读模式
#include <stdio.h>
#include <iostream.h>
int main()
{
  cout<<"This is a C++ program";
  return 0;

}
说明一下因为我不知道这些要在什么地方写所以我就随意打开了一个编译器,如: Kwriter之类的东西.最后把扩展名写为.cpp.

然后我就在命令行里输入,gcc34 -o abc temp.cpp
可是就这样出错了,好像最后写的是什么new line之类的东西,我没有记下来~

不知道linux下的C++和WIN下的C++语法一不一样?我想应该都是一样的吧!不是有一个什么国际的C++标准么!我就想可能是我在编译时写错了(gcc34 -o abc temp.cpp)可是它又说什么new line我又想是不是我很久没有看C++把什么语法忘了!可是怎么看也看不出呀!
发表于 2004-8-26 13:41:34 | 显示全部楼层
记不下错误信息不要紧呀,你用鼠标选中它们,然后到论坛用中键就可以粘贴过来了。
发表于 2004-8-26 14:12:20 | 显示全部楼层
原码最后加个回车
发表于 2004-8-26 14:55:31 | 显示全部楼层
#include <iostream.h>
is out of date.


  1. #include <iostream>
  2. using namespace std;

  3. int main()
  4. {
  5.     cout << "This is a C++ program" << endl;

  6.     return 0;
  7. }
复制代码


# g++ abc.cpp -o abc
发表于 2004-8-26 15:47:59 | 显示全部楼层
2.cpp
[PHP]#include <iostream>
main()
{
        bool a;
        a = true;

        if(a)
                std::cout << "senior citizen rates apply";

        return 0;
}[/PHP]

$ gcc -o 2 2.cpp
/tmp/ccIAofju.o(.text+0x25): In function `main':
: undefined reference to `std::cout'
/tmp/ccIAofju.o(.text+0x2a): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std:perator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccIAofju.o(.text+0x53): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccIAofju.o(.text+0x84): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccIAofju.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

What the problem is ?
发表于 2004-8-26 16:36:05 | 显示全部楼层
是这样的:

在Linux编译C++程序时不要用gcc(当然另加参数亦可,但不推荐这么做)而是用g++,如果包含的头文件有后缀.h时会出个警告,但不影响编译,按照新的规范应去掉.h:如#include <streamio>,但还必须加一行using namespace std; 不然编译时会提示错误。
发表于 2004-8-26 17:13:55 | 显示全部楼层
用gcc编译,记得加上-lstdc++
 楼主| 发表于 2004-8-26 17:44:51 | 显示全部楼层
最初由 lanche 发表
是这样的:

如#include <streamio>,但还必须加一行using namespace std; 不然编译时会提示错误。



#include <streamio>LINUX下用这个?它和WIN下的<iostream>是一样的吧?
发表于 2004-8-26 18:18:13 | 显示全部楼层
iostream,上面应该是笔误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表