有谁比我悲催,在linux下编译个gcc编译了两个月都没成功

作者&投稿:仲长采 (若有异议请与网页底部的电邮联系)
我的Linux上面为什么没有gcc编译器~

1. 下载

在GCC网站上(http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。

2. 解压缩

根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):

% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -

新生成的gcc-3.4.0这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。

在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。

3. 建立目标目录

目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。

例如,可以这样建立一个叫 gcc-build 的目标目录(与源目录${srcdir}是同级目录):

% mkdir gcc-build
% cd gcc-build

以下的操作主要是在目标目录 ${objdir} 下进行。

4. 配置

配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。

配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):

% ${srcdir}/configure --prefix=${destdir} [其它选项]

例如,如果想将GCC 3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。

在我的机器上,我是这样配置的:

% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java

将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。

5. 编译

% make

这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。

6. 安装

执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):

% make install

至此,GCC 3.4.0安装过程就完成了。

6. 其它设置

GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。

6.1 gcc、g++、gcj的设置

要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。

首先,查看原来的gcc所在的路径:

% which gcc

在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:

% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34

这样,就可以分别使用gcc34、g++34、gcj34来调用GCC 3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。

6.2 库路径的设置

将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。

例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:

setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH

7. 测试

用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。

8. 根据需要,可以删除或者保留${srcdir}和${objdir}目录。






如果用的是ubuntu或者是fedora的话 可以在源里直接安装

用root账户登录吧,或者输入命令 sudo chmod 777 /var/cache/ccache/tmp试试看

没弄成是你不诚心弄,跟着我说的方法做
1.下载镜像  例如:redhat-rhel-server-6.8-x86_64-dvd.iso
2.在虚拟机上安装环境
3.因为红帽的系统什么都没装,所以要自己安装编译工具gcc
  gcc需要的包都在下面放呢,不要用下面的版本,每个系统不一样
4.下图中gcc所有rpm安装包的由来
  【在寻找gcc安装包的过程时我是先搜所需依赖,后来直接下载怎么装都装不上
 ,主要原因就是版本和安装顺序不对,安装顺序从教程和报错中寻找,】
  我安装的镜像是redhat-rhel-server-6.8-x86_64-dvd.iso 用WinRAR打开镜像
  redhat-rhel-server-6.8-x86_64-dvd.iso\Packages  这个目录下面看看,
  看到了什么,这个是所有和系统适配的rpm安装包,找gcc-**** 包名字,
  解压出来,然后安装,安装或报错,看着报错缺失的是哪个依赖包,然后去镜像
  压缩包里面寻找,版本保证一致。
  5.为了不出现其他错误,尽量重装一边,保证系统干净。懂不?

gcc需要的包名 版本  redhat-rhel-server-6.8-x86_64-dvd.iso

给两个网上的教程

http://blog.csdn.net/gdfsbingfeng/article/details/53287278

http://blog.csdn.net/wangqing_12345/article/details/52484723



别编译了,用软件源安装命令在线安装吧,软件源安装命令可以自己解决软件依赖性的问题,并且把所有gcc依赖的软件包都安装好。如果是Ubuntu系统,用apt-get命令:
apt-get install build-essential
这条命令会把gcc编译器和编程所需要的库文件都安装上;
如果是Fedora、CentOS等系统,用yum命令安装:
yum install gcc
安装命令执行后,运行gcc -v命令,如果能看到gcc显示的gcc版本信息,就表示安装成功了。


宝马320li和奔驰C200l,我应该如何选择呢?
对于这一代320LI,我个人认为是家用和运动的平衡点。不仅是空间可以保证日常后排乘客的乘坐。2.0T的动力足够了,下一级的漂移也可以做到。严明认为320LI的配置也很划算。对比竞争产品,只看前后驱。宝马给了驱动轮通风板。这比一些竞争产品要好得多。目前宝马的各种配置仍然相对以运动为主。只是家庭用...

里(Li)的化学性质?
D,分子都比原子大. (2) 下列有关原子,分子的叙述中正确的是( AEF ). A,分子和原子都是构成物质的微粒. B,分子大原子小. C,分子之间有间隙,原子之间没有间隙. D,分子保持物质的化学性质,原子不保持. E,分子在化学变化中可以再分,原子在化学变化中不能再分. F,分子和原子都在不停的运动. <讲解>分子...

谁能给我一个世界上最搞笑的笑话给我听
27.生活不是林黛玉,不会因为忧伤而风情万种。28.不要叫我宅女,请叫我居里夫人。29.你说你以后可能会和不喜欢的人结婚,没关系,我愿意做那个你不喜欢的人。30.人性最可怜的就是:我们总是梦想着天边的一座奇妙的玫瑰园,而不去欣赏今天就开在我们窗口的玫瑰 <\/LI><\/UL> ...

你最红的歌词, 谁知道, 2ne1 的
我是最红的 누가? 네가 나보다 더 잘 나가? nu ga ?ne ga na bo da deo ja la ga ?是谁说你比我红 No no no no!Na na na na!No no no no!Na na na na!No no no no!Na na na na!No ...

11111公里的真实体验,告诉你BMW 320Li值不值得买?
因为不比一线城市, 汽车 的保有量会直接影响车辆后期维护、维修的价格和方便程度。 2、车辆外观和空间 其实当时ATS L是极具性价比的,优惠完后裸车价格大概在不到23万,但我实在是不喜欢这个外观,所以还是作罢了。而之前的城市越野,后排空间也有点紧张。所以考虑到内部空间,320Li还是非常理想的。 3、价格 经过...

谈谈一辆宝马530Li尊享型的自我进化改装历程分享!
谈谈一辆宝马530Li尊享型的自我进化改装历程分享!  我来答 1个回答 #话题# 打工人的“惨”谁是罪魁祸首?汽车之家 2020-05-02 · 买车、用车、养车,你想看的这里都有! 汽车之家 向TA提问 关注 展开全部 作为多年的键盘bimmer,终于在18年换车时选择了g38的530Li尊享m型。选择530LI纯属偶然,原本...

年纪比我大li后面加什么符号标点符号
加句号。在方框里填入正确的标点符号。(25分)1我回头一看是一位白发苍苍的老爷爷年纪比我爷爷还大哩我点点头仰起脸问老爷爷您也来爬天都峰所以年纪比我大li后面加句号

饭桌上的幽默笑话
20) 想你的时候,却不敢给你打电话,怕听到你的声音;可悲催的是,我总是想你啊,可我不能总也不打...晚上可以踏实的在宿舍打打游戏,看看电影,看看书,然后十一点准时上床睡觉,睡前可以给谁打个电话说声

原来是美男啊歌曲中文的歌词谁有???
ken?de?cha?ji?mo?ta?he?ma?mun?ho?do?ka?na?yo 无法停止的爱,我该怎么做sa?ram?e?dem?ku?li?o?geun?mo?chi?ma?la?yo 请别忘记我爱你ta?si?u?ge?he?zhu?ta?lum?sa?ram?man?na?to 就算遇到另外一个令你展开笑颜的人ha?pun?e?piao?ka?chu?se?ku?te?ra?ta?han?e?jio 离别是痛苦的...

2020款宝马5系525Li提车之路,我的爱车宝马5系
总结一下吧。 提车一个多月,对车评价四个字——【悦享驾驶】,真的是越开越想开。我不知道另外ba两家和其它一众二线豪华品牌怎么样,但是宝马满足了我对驾驶的要求,这就足够了,不要和谁比,不要和谁争个输赢。只要我的心头好,不敢再去奢求更多。最后的最后,这把简单的钥匙(刚刚提车时照...

清水县15986531156: 我在linux环境下怎么就是编译不成功 -
爱元典泰: 你想编译什么?是.java的文件吗?1. 首先,你得安装linux版的jdk;2. 你写一个简单的java类.3. 编译java文件4. 运行class文件即可.

清水县15986531156: 为什么linux编程那么麻烦,很多人在linux下编程.而不是windows平台或者是OS X平台,一个快捷键编译+调试 -
爱元典泰: 因为 Linux是免费开源的,而且相关的资料,源代码,软件大都是免费的.所以对于系统开发人员而言可以很深入的开发他,并把它移植到各种不同的平台上.而且很大部分的嵌入式系统,都是基于Linux的,同时他也是一个稳定的,优秀的操作系统. 相对于windows和其他商用操作系统,都是不开源的,只留给系统按开发人员一些API使用,不如Linux灵活,深入,易于移植和定制裁剪.

清水县15986531156: 到底怎么在Linux里编写c程序啊? -
爱元典泰: 在linux下通常使用gedit或vim直接编写.c程序,然后通过gcc指令编译.以Ubuntu系统为例,详细过程如下: 1、进入桌面Temp文件夹 2、右键新建空白文件 3、将文件命名为hello.c 4、进入hello.c,开始编写代码(默认gedit为编辑器) ...

清水县15986531156: 怎样在LINUX下编译多个C语言文件 -
爱元典泰: 多个c文件生成一个文件可以这样 gcc -o 可执行文件名 c文件1 c文件2 ... c文件n...是我省略了

清水县15986531156: 如何在linux下开发一个c++程序 -
爱元典泰: 安装一个g++编译器,利用vim建立一个以.cpp为后缀的文件,在里面就可以书写你的程序源码了,最后在用g++编译器编译这个*.cpp文件,出来的文件就可以运行了;多去看看系统方面的书吧,应该是有介绍的,或者linux鸟哥私房菜.

清水县15986531156: 在linux环境下怎么写代码 ,编译 -
爱元典泰: Linux输入命令行 vim test.c 会打开test.c文件,按 i 进入编辑模式,就可以开始写代码了. 写好后按 ESC 退出编辑模式,输入 :wq 保存并退出. 注:有些linux发行版上没有默认安装vim,要先安装.vim是vi编辑器的增强版(vi是默认都带的,也可以用 vi test.c).编译,命令行输入 gcc -Wall test.c -o test 说明:-Wall选项用于显示所有警告,-o test 指定输出的可执行文件名为test(默认不指定为a.out)要用Windows下那种开发方式,就在Linux系统上装个Eclipse(加上 c/c++ 插件).

清水县15986531156: 请问一下在linux中怎么编译c++文件,请说的详细一点儿?初学. -
爱元典泰: 太简单了,你先创建一个文本文件,命名为test.cpp,写你的程序,然后启动终端进入到你的程序所在目录,用g++命令进行编译 例子:编译:g++ test.cpp -o test 运行:./test 想单步跟踪的话是这样 g++ test.cpp -o test -g gdb ./test gdb调试命令你上网找,我就不写出来了

清水县15986531156: linux下搞c编程有什么前途 -
爱元典泰: 本来搞LINUX就非常有前途 特别是LAMP,现在非常火的 LINUX编程也是非常热的,也许是了解的人少吧,所以是紧缺人才.把LINUX搞通了,不愁赚不到钱呀.

清水县15986531156: 我在linux下编译这个程序老是没有结果,也没有任何提示.请哪个好心人指教 -
爱元典泰: 上面代码,for循环中,h初始值被赋值为10,然后判断10也就是if(h!=0) printf("fyou,roll! \n"); 一次都不会执行 ,所以没有结果输出. 改为这样#include main() { int h; for(h=10;h>=1;h--) if(h!=0) printf("fyou,roll! \n"); }

清水县15986531156: 在linux下怎么编译和运行java程序 -
爱元典泰: 同时加载编译多个jar包和java文件 在个人平常使用或者当我们把代码部署到linux服务器上的时候,我们经常需要通过命令行编译和运行java文件,网上关于这个的方法大多是通过 javac -cp filePath/jarName.jar javaName.java1这种方法.但是加...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网