LinuxSir.cn,穿越时空的Linuxsir!

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

fc5中编程问题

[复制链接]
发表于 2006-5-30 01:06:59 | 显示全部楼层 |阅读模式
首先说明 :由于我纯属个人兴趣在业余时间装好的fc5。加上本人还未找到一(本地为一小城镇)良师益友(网上诸君除外),故 有此小小问题(对我而言,如同门前大山,移山难....),还靠诸君举手之劳!!!

用VI抄书中(c++)文本如下:

#include <iostream>

using namespace std;

    int main(){
       cout<<"Never fear,c++ is here!";
     return 0;
     }

用命令如下:
[slr@zmd mytest]$ gcc -o print print.cpp
/tmp/ccMSMtXp.o:在函数‘__static_initialization_and_destruction_0(int, int)’中:print.cpp:\(.text+0x23):对‘std::ios_base::Init::Init()’未定义的引用
/tmp/ccMSMtXp.o:在函数‘__tcf_0’中:
print.cpp:\(.text+0x6c):对‘std::ios_base::Init::~Init()’未定义的引用
/tmp/ccMSMtXp.o:在函数‘main’中:
print.cpp:\(.text+0x8e):对‘std::cout’未定义的引用
print.cpp:\(.text+0x93):对‘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/ccMSMtXp.o:\(.eh_frame+0x11):对‘__gxx_personality_v0’未定义的引用
collect2: ld 返回 1


请问:1.我应该如何编译?  
2.是不是fc5中没有一些文件?如果是少安装了,应该再安装些什么?我见 一本书上讲:新手最好不要用redhat linux 学c++,因为还要装其它东西,对我来说安装起来不容易,但是我只会用windows xp和 fc ( fc5是好不容易才装好,也不能说会用)。若是少装东西,还望能列清单一.二。

本人感激不尽!!!!!!!!!!
发表于 2006-5-30 07:11:18 | 显示全部楼层
错误出在编译时很多函数没有定义:

你需要的是这个package RPM resource libstdc++
http://rpmfind.net/linux/rpm2htm ... =libstdc%2B%2B.so.5

我想在FC5上你知道怎么装吧。 不知道的话去baidu 或 google 上查查。
回复 支持 反对

使用道具 举报

发表于 2006-5-30 09:41:27 | 显示全部楼层
gcc -o print print.cpp
改为g++ -o print print.cpp
你的是C++,应该用g++编译,不能再用gcc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-30 20:27:14 | 显示全部楼层
gcc -o print print.cpp
改为g++ -o print print.cpp
你的是C++,应该用g++编译,不能再用gcc

多谢sikamedia 和light-zls 的指点,按上述方法,己成功编译。

还想问一下:g++与gcc有何区别?我最好先用电脑查一下再问。这样更 加深记忆。

++++++++++++++++++
++++++++++++++++++

linux上的人实在让人敬重,活雷锋!!!!
回复 支持 反对

使用道具 举报

发表于 2006-5-30 20:39:31 | 显示全部楼层
g++ 就是在连接时会与 libstdc++, libsupc++ 的库连接。这些库是运行 C++ 程序所需要的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-30 20:52:43 | 显示全部楼层
再次学习了。
回复 支持 反对

使用道具 举报

发表于 2006-5-30 21:16:19 | 显示全部楼层
Post by dgkgnrt
首先说明 :由于我纯属个人兴趣在业余时间装好的fc5。加上本人还未找到一(本地为一小城镇)良师益友(网上诸君除外)...


请你务必坚持下去,如你能动员尽量多的人用Linux则功莫大焉!
回复 支持 反对

使用道具 举报

发表于 2006-6-6 10:42:48 | 显示全部楼层
直接make print 就可以。
原理是让make利用隐含规则去选择编译器。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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