`
pleasetojava
  • 浏览: 704150 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Linux下面安装最新的gcc4.2.2

阅读更多

<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } -->

Linux下面安装最新的gcc4.2.2

很简单的,首先,现在最新的包GCC 4.2.bz2,一般的到处都有的下,linux下的下载速度很满,20k,很恶心,我喜欢迅雷的下载速度,在windows下下载,大概42M,下载速度24M,回到linux下,挂载,ntfs格式的我的,具体不说了,说安装!

进入到挂载的目录下,先cp GCC4.2.bz2 /azuo

cd /azuo

tar -xvf GCC 4.2.bz2

得到gcc-4.2,

cd gcc-4.2,在/usr目录下建立一个文件夹就是现在要存放新的gcc的目录,

mkdir /usr/gcc4

./configure –prefix=/usr/gcc4

回车,就会有配置信息,只要不报错就可以了,

make,这个过程很久,因为我没有设置一些具体的选项,因此,所有的组件几乎都要编译一遍,我的电脑cpuAMD 3200X2 1.5g内存,大概花费一个半小时。

到这个时候为止,/usr/gcc4下还没有任何东西,编译过程都是发生在源文件夹,让我们再来一个动作,所有的要用到的东西都会配置到目标文件夹下,

make install

这个过程也不短,等着就是了。

一切都已经弄好了之后就是使用最新的gcc了,可以看到,在/usr/gcc4/bin下有gccg++,等一些东西,都是可以用的,写两个程序:

aa.c

1 #include <stdio.h>

2

3 int main(void) {

4 printf("ad");

5 return 1;

6 }

gcc -o aa aa.c

执行 ./aa

上面的这个是c的,下面这个就是c++的了:

a.cpp:

1 #include <iostream>

2 using namespace std;

3 int main(void) {

4 cout << "Ok!" << endl;

5 return 1;

6 }

g++ -o a a.cpp

执行就是了./a

一切ok了,就可以让最新的gcc工具取代原来的工具了。

看看原来的gcc是什么版本的,我们好卸载它:

[root@BTazuo bin]# rpm -qa gcc

gcc-4.1.2-27.fc7

[root@BTazuo bin]# rpm -e gcc-4.1.2-27.fc7

error: Failed dependencies:

gcc is needed by (installed) systemtap-0.5.13-1.fc7.i386

gcc = 4.1.2-27.fc7 is needed by (installed) gcc-c++-4.1.2-27.fc7.i386

gcc = 4.1.2-27.fc7 is needed by (installed) gcc-gfortran- 4.1.2 -27.fc7. i386

[root@BTazuo bin]# rpm -e gcc-c++-4.1.2-27.fc7.i386

[root@BTazuo bin]# rpm -e gcc-gfortran-4.1.2-27.fc7.i386

[root@BTazuo bin]# rpm -e gcc-4.1.2-27.fc7

error: Failed dependencies:

gcc is needed by (installed) systemtap-0.5.13-1.fc7.i386

[root@BTazuo bin]# g++

bash: g++: command not found

卸载成功

[root@BTazuo bin]# gcc

gcc: 没有输入文件 ,可见gcc犹在

[root@BTazuo bin]# rpm -e systemtap-0.5.13-1.fc7.i386

[root@BTazuo bin]# gcc

gcc: 没有输入文件

[root@BTazuo bin]# rpm -e gcc-4.1.2-27.fc7

[root@BTazuo bin]# gcc

bash: /usr/lib/ccache/gcc: 没有那个文件或目录

最后的卸载成功!

这个时候,要注意了,我的gcc/usr/bin下面有,在/usr/lib/ccache这个目录下也有,分别在这两个下面都要建立一个链接:

[root@BTazuo bin]# ln -s /usr/gcc4/bin/g++ g++

[root@BTazuo bin]# g++

g++: 没有输入文件

可见g++已经装好了,可以使用了。

然后是gcc

[root@BTazuo bin]# ln -s /usr/gcc4/bin/gcc gcc

[root@BTazuo bin]# gcc

bash: /usr/lib/ccache/gcc: 没有那个文件或目录

[root@BTazuo bin]# ./gcc

gcc: 没有输入文件

可见还要给另外一个目录建立一个gcc的链接:

[root@BTazuo lib]# ln -s /usr/gcc4/bin/gcc /usr/lib/ccache/gcc

[root@BTazuo lib]# gcc

gcc: 没有输入文件

到此为止,gccg++都已经建立好了,可以用了,最后把原来的包和解压文件都可以删除了,以节省硬盘空间!hoho

分享到:
评论

相关推荐

    arm-linux-gcc-4.3.2.bz2

    我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 1. 预处理(Pre-Processing) 2. 编译(Compiling)...

    交叉编译环境的建立arm-linux-gcc-4.3.2的安装

    里面是我根据网上查找的资料,一边自己动手做,一边思考整理的,有不完善的地方,希望留言指正,共勉之。

    ntp-4.2.2.tar.gz

    Linux下时间服务器,可..../configure --prefix=$PWD/install --exec-prefix=$PWD/install --host=arm-linux CC=/opt/am335x_gcc/bin/arm-linux-gnueabihf-gcc --with-yielding-select=yes 根据具体情况,适当修改。

    net-snmp在linux上的移植

    主机系统:Windows XP(假设IP为192.168.1.33) 虚拟机系统:Ubuntu 9.04(假设IP为192.168.1.117) ARM11板:linux 2.6.28(假设IP为192.168.1....交叉编译器:arm-linux-gcc 4.2.2 net-snmp:net-snmp-5.6.1.tar.gz

    LINUX操作系统(电子教案,参考答案)

    本章主要介绍了Linux下面的编译器—— gcc的基本用法以及Make与Makefile的一些基本知识。 第10章:系统扩充。本章主要介绍了在Linux中系统的扩充,包括软件的安装和内核的升级等内容。 第11章:系统维护与监视。本章...

    嵌入式Linux应用程序开发标准教程(第2版全)

    《嵌入式Linux应用程序开发标准教程(第2版)》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为Linux初学者能快速入门提供了保证。...

    嵌入式Linux C编程入门(第2版) PPT

    2.3 嵌入式linux编译器gcc的使用 41 2.3.1 gcc概述 41 2.3.2 gcc编译流程分析 42 2.3.3 gcc警告提示 45 2.3.4 gcc使用库函数 47 2.3.5 gcc代码优化 49 2.4 嵌入式linux调试器gdb的使用 49 ...

    linux网络编程-宋敬彬-part3

    2.2 Linux下的GCC编译器工具集 19 2.2.1 GCC简介 19 2.2.2 编译程序的基本知识 21 2.2.3 单个文件编译成执行文件 22 2.2.4 编译生成目标文件 22 2.2.5 多文件编译 23 2.2.6 预处理 24 2.2.7 编译成...

    linux网络编程-宋敬彬-part2

    2.2 Linux下的GCC编译器工具集 19 2.2.1 GCC简介 19 2.2.2 编译程序的基本知识 21 2.2.3 单个文件编译成执行文件 22 2.2.4 编译生成目标文件 22 2.2.5 多文件编译 23 2.2.6 预处理 24 2.2.7 编译成...

    清华大学Linux操作系统原理与应用

    4.2.2 进程用户空间的创建 74 4.2.3 虚存映射 76 4.2.4 进程的虚存区示例 76 4.2.5 与用户空间相关的系统调用 78 4.3 请页机制 79 4.3.1 缺页异常处理程序 79 4.3.2 请求调页 81 4.3.3 写时复制 83 4.4 物理内存的...

    嵌入式设计及linux驱动开发指南——基于ARM9处理器.pdf

    4.2.2 ARM仿真器工作原理 4.2.3 ARM仿真器的系统功能层次 4.2.4 使用仿真器和ADS Debugger调试ARM开发板 4.3 JTAG接口 4.3.1 JTAG引脚定义 4.3.2 通过JTAG烧写Flash 4.3.3 烧写Flash技术内幕 第5章 ...

    Linux C程序设计大全

    4.2.2 数组的指针 4.2.3 指针的指针 4.2.4 指针与参数传递 4.2.5 指针类型的意义 4.2.6 void*型指针 4.3 函数的指针 4.3.1 C语言中的函数指针 4.3.2 函数指针的应用——回调函数 4.3.3 函数指针数组 4.4 字符串 ...

    嵌入式Linux应用程序开发详解

    1.2 Linux安装 5 1.2.1 基础概念 5 1.2.2 硬件需求 7 1.2.3 安装准备 7 1.2.4 安装过程 8 1.3 Linux文件及文件系统 11 1.3.1 文件类型及文件属性 11 1.3.2 文件系统类型介绍 13 1.3.3 ...

    Linux程序设计 第4版.haozip01

    4.2.2 environ变量 122 4.3 时间和日期 123 4.4 临时文件 129 4.5 用户信息 131 4.6 主机信息 134 4.7 日志 135 4.8 资源和限制 139 4.9 小结 143 第5章 终端 144 5.1 对终端进行读写 144 5.2 与终端进行...

    updateopenssh.rar

    openssh8.0p1一键升级包,离线安装包,附带一键升级脚本,已于redhat5.9,centos6.3,centos6.7,centos6.8,centos7.0,centos7.2测试成功升级。 升级前置条件机器已安装好gcc v4.2.2或以上

    Linux程序设计 第4版.haozip02

    4.2.2 environ变量 122 4.3 时间和日期 123 4.4 临时文件 129 4.5 用户信息 131 4.6 主机信息 134 4.7 日志 135 4.8 资源和限制 139 4.9 小结 143 第5章 终端 144 5.1 对终端进行读写 144 5.2 与终端进行...

    linux网络编程-宋敬彬-part1

    2.2 Linux下的GCC编译器工具集 19 2.2.1 GCC简介 19 2.2.2 编译程序的基本知识 21 2.2.3 单个文件编译成执行文件 22 2.2.4 编译生成目标文件 22 2.2.5 多文件编译 23 2.2.6 预处理 24 2.2.7 编译成...

    Linux网络编程

    4.2.2 信号与系统调用的关系.........54 4.2.3 信号的复位...........55 4.2.4 在进程间发送信号....56 4.2.5 系统调用alarm()和pause()....58 4.2.6 系统调用setjmp()和longjmp()...........62 4.3 管道..............

Global site tag (gtag.js) - Google Analytics