LinuxSir.cn,穿越时空的Linuxsir!

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

请教最简单的c++ ,gcc通不过.??

[复制链接]
发表于 2004-4-27 15:42:08 | 显示全部楼层 |阅读模式
源程序:
#include <iostream>
using namespace std;

int main()
{
cout<<"world hello"<<endl;
return 0;
}

g++ -o testcpp testcpp.cpp 可以通过,有结果.

gcc -o testcpp testcpp.cpp 出错了

    /tmp/ccuEDHXQ.o: In function `main':
    /tmp/ccuEDHXQ.o(.text+0x14): undefined reference to `std::    basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
/tmp/ccuEDHXQ.o(.text+0x21): undefined reference to `std::cout'
/tmp/ccuEDHXQ.o(.text+0x26): 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/ccuEDHXQ.o(.text+0x2f): undefined reference to `std::basic_ostream<char, std::char_traits<char> >:perator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccuEDHXQ.o: In function `__static_initialization_and_destruction_0(int, int)':
/tmp/ccuEDHXQ.o(.text+0x5c): undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccuEDHXQ.o: In function `__tcf_0':
/tmp/ccuEDHXQ.o(.text+0x8b): undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccuEDHXQ.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
 楼主| 发表于 2004-4-27 17:36:34 | 显示全部楼层
-lstdc++
原来这个没有加.
发表于 2004-4-28 08:04:47 | 显示全部楼层
g++是C++的预编译器,
gcc则是c的。注意他们都是“预”处理,后面有一个真正核心都处理。所以没有必要使用gcc -lstdc++的方式。建议直接使用g++。
发表于 2004-4-29 09:49:04 | 显示全部楼层
我也碰到这种情况,我也正迷惑着。
发表于 2004-4-29 09:51:22 | 显示全部楼层
gcc不会自动调用libstdc++,直接用g++编译c++程序,方便一些。
发表于 2004-4-29 14:54:24 | 显示全部楼层
感谢各位,我终于可以在linux下用C++语言的优势了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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