redhat 64位下安装gcc-c++ 以及编译32位代码

本文转载自:glwu_1027的博客


第一次接触linux就是redhat9卡哇伊的小红帽。不过没认真学,老师讲的还是蛮认真的。奈何,老师就是在讲操作技巧,没什么兴趣。

一直都以为redhat是免费,原来企业版它是不免费的,好多功能非要注册才能使用。CentOS是开源免费版,好用,实在我喜欢。

但是没办法,有时候现实逼迫你用阉割版的redhat,我也没有什么办法

昨天装了redhat server6.3_64位,本意是要编译一个程序,可是没有gcc,也没有g++

yum命令的源(下载各种安装软件的地址)是旧的,系统又未注册无法更新。yum没法用诶。

自己手动装gcc-c++,系统不自带gcc编译器,装不了诶。后来弄了编译器,还是装不了。我没有时间去想为什么装不了,真的没时间,后来就不管了。

首先要把yum给弄好了,这个以后还得用的,超级命令诶。

yum的源网上给出了不少,不过网址都挂了诶,人家都不提供服务了。

一般情况下,CentOS的yum就足够用了。按照同事的指导,配置CentOS的yum源,为本系统的yum的更新源。

首先挂载CentOS的镜像文件,虚拟机上有挂载的地方的,找找就好,很容易就找到了。什么你找不到?那你是怎么在虚拟机上安装系统的,就是那个保存系统安装文件的CD/DVD啦。

挂载之后,终端进入/etc/yum.repos.d/目录,下面有文件rhel-source.repo, 保存一下该文件,过会要更改它的内容。

vim 打开rhel-source.repo,将里面的内容清除,写入以下内容:

[c6-media]
name=CentOS-$releasever-Media
baseurl=file:///media/CentOS_6.4_Final
gpgcheck=1
enabled=1

保存即可。baseurl是CentOS镜像文件的挂载路径。

 

在终端里执行yum update(更新源),可以看见,yum的源被更新,采用CentOS的更新源。

注意:可能yum update无法更新的,报错的原因是没有public key(加密用的)。

需要这样做:cd /media/CentOS_6.4_Final
ls 可以看见一堆RPM-GPG-KEY开头的文件,将其导入系统即可。

rpm --import RPM-GPG-KEY* 全部导入吧,具体是哪一个就可以了,我也不清楚。我是个懒人。

 

 

这样就可以安装gcc-c++了

yum -y install gcc-c++

不过因为系统是64位的,默认安装的gcc/g++都是用来编译64位代码的,对于那些使用32位库的程序来说,用此gcc/g++编译会出问题。

我遇到的就是缺少gun/stab.h 32位文件。

遇到这样的问题,只能手动安装32位的库文件。

这个文件在glibc里。

安装命令:

yum -y install glibc-devel.i686 glibc-devel

 

i686就是版本,386,486 也没什么。

 

再次编译源文件,还是报错,此时是连接错误。说是找不到libstdc++

只能再装,但是此时不可盲目的装,因为好多libstdc++,要安装自己需要的。

我缺少的是libstdc++.so.6.

可以用yum命令找出包含libstdc++.so.6的安装包

yum whatprovides libstdc++.so.6

我用此命令查找的时候,它给我指出了一个安装包:libstdc++-4.4.7-3.el6.i686

安装就一下,我的程序就以成功编译连接运行了。

yum -y install libstdc++-4.4.7-3.el6.i686

 

其实我不想写博客的,只是有些时候记忆力真的不好,我记不住诶。所谓经验,仅仅记录而已

温故而知新,可以为师矣。

看战国,必须讨厌儒家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值