<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
Linux下面安装最新的gcc4.2.2
很简单的,首先,现在最新的包GCC 4.2.bz2,一般的到处都有的下,linux下的下载速度很满,20多k,很恶心,我喜欢迅雷的下载速度,在windows下下载,大概42M,下载速度2到4M,回到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,这个过程很久,因为我没有设置一些具体的选项,因此,所有的组件几乎都要编译一遍,我的电脑cpu:AMD 3200+X2 ,1.5g内存,大概花费一个半小时。
到这个时候为止,/usr/gcc4下还没有任何东西,编译过程都是发生在源文件夹,让我们再来一个动作,所有的要用到的东西都会配置到目标文件夹下,
make install;
这个过程也不短,等着就是了。
一切都已经弄好了之后就是使用最新的gcc了,可以看到,在/usr/gcc4/bin下有gcc,g++,等一些东西,都是可以用的,写两个程序:
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: 没有输入文件
到此为止,gcc和g++都已经建立好了,可以用了,最后把原来的包和解压文件都可以删除了,以节省硬盘空间!hoho!
分享到:
相关推荐
我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 1. 预处理(Pre-Processing) 2. 编译(Compiling)...
里面是我根据网上查找的资料,一边自己动手做,一边思考整理的,有不完善的地方,希望留言指正,共勉之。
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 根据具体情况,适当修改。
主机系统: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下面的编译器—— gcc的基本用法以及Make与Makefile的一些基本知识。 第10章:系统扩充。本章主要介绍了在Linux中系统的扩充,包括软件的安装和内核的升级等内容。 第11章:系统维护与监视。本章...
《嵌入式Linux应用程序开发标准教程(第2版)》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为Linux初学者能快速入门提供了保证。...
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 ...
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 编译成...
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 编译成...
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 物理内存的...
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章 ...
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 字符串 ...
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 ...
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 与终端进行...
openssh8.0p1一键升级包,离线安装包,附带一键升级脚本,已于redhat5.9,centos6.3,centos6.7,centos6.8,centos7.0,centos7.2测试成功升级。 升级前置条件机器已安装好gcc v4.2.2或以上
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 与终端进行...
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 编译成...
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 管道..............