2017-01-09 21:42:12 shenhuan1104 阅读数 2493
sudo add-apt-repository ppa:ubuntu-toolchain-r/test


sudo  apt-get update


sudo apt-get  install gcc-4.7


sudo apt-get  install g++-4.7


OK,安装gcc,g++4.7完毕


$which gcc  一下


找到目前gcc版本的目录:/usr/bin/gcc


$cd /usr/bin/ ; ls -al | grep gcc






 可见,目前的gcc符号链接于gcc-4.4


$sudo rm gcc                     //删除原来的符号链接


$ln -s gcc-4.7 gcc             //重新创建链接


$gcc -v                              //可见其版本已经是4.7


OK,g++ 更改版本过程如出一辙
2014-02-05 15:10:55 totuswhf 阅读数 1693

    这几天要回老家,因为老家没有网络,因此要将虚拟机vmware改成NAT模式。原来用的是vmplayer查了半天改不了,因此改用vmware workstation 8.0.6+Redhat Enterprise Linux 6.4,重新安装gcc4.8.2时发现没有g++编译器,也没有yum工具,顺便把yum和g++也给装了,记录过程如下:

Redhat Linux通常由于没有注册,导致yum程序无法使用,需要将其替换为centos的yum程序。

1.      卸载redhat自带的yum组件:

rpm -qa|grepyum|xargs rpm -e --nodeps

2.      下载并导入KEY

# cd/etc/pki/rpm-gpg/

# wget http://centos.ustc.edu.cn/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

# rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY*

3.下载centos yum的安装包,由于体系结构的不同和包的更新,因此目录和文件名的版本号可能需要调整一下.Redhat el6要对应的下载Centos 6的包:

#wget http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm

#wget  http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

#wget http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

安装这些包:

rpm -ivh yum*.rpm

 

4.下载更新源,并存放在系统目录中

[root@hadoop-data~]# wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo

[root@hadoop-data~]#mv CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

此文件的CentOS 5 的版本,修改其中的配置为版本6,并删除 addons 项,因为在版本6中没有此源

 

5.下载更新源,并存放在系统目录中

# yum makecache


6.安装g++,数据源为gcc-c++

# yum install gcc-c++


2017-04-17 10:20:33 A8316124 阅读数 1028

下载地址:make-3.81.tar.gz2

一、安装make-3.81

1、解压make-3.81.tar.bz2

tar -vxf make-3.81.tar.bz2
  • 1
  • 1

2、进入make-3.81目录并执行./configure

cd ./make-3.81
./configure
  • 1
  • 2
  • 1
  • 2

3、执行玩后make-3.81目录会多出一个build.sh文件,执行build.sh即可得到make文件。

./build.sh
  • 1
  • 1

4、验证编译出来的make是不是我们想要的3.81版本。

make -v
得到如下信息:
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5、替换系统原有的make。(记得备份原有文件。)

cd /usr/bin/
sudo mv ./make ./make.backup

mv ~/make-3.81/make ./
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

6、到此make3.81版本安装完成

二、安装GCC-4.4和G++-4.4

1、安装GCC和G++的4.4版本

sudo apt-get install gcc-4.4 g++-4.4
  • 1
  • 1

2、删除原有gcc和g++文件

cd /usr/bin
#看查看原有类型
ls -l gcc g++
#lrwxrwxrwx 1 root root 7  7月 18 22:03 gcc -> gcc-4.9
#lrwxrwxrwx 1 root root 7  7月 18 22:03 gcc -> gcc-4.9
#(如果不是软链接的请备份)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3、关联gcc和g++文件。(软链接)

sudo ln -s gcc-4.4 gcc
sudo ln -s g++-4.4 g++
#查看GCC和G++版本信息

gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
…………
…………
gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-8ubuntu1) 

g++ -v
Using built-in specs.
Target: x86_64-linux-gnu
…………
…………
g++ version 4.4.7 (Ubuntu/Linaro 4.4.7-8ubuntu1) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

4、到此GCC-4.4和GCC-4.4安装完成。

2019-11-23 08:39:38 Stay_Hungry_Stay 阅读数 26

Ubuntu-12.04.5-desktop-i386(32位)下安装arm-linux-gcc-4.4.3.tar.gz(32位) (交叉编译环境配置,同时要保证arm-linux-gcc-4.4.3.tar.gz有bin这个文件)

Ubuntu下安装arm-linux-gcc-4.4.1.tar.gz ,其过程如下:

下载arm-linux-gcc-4.4.3.tar.gz到目录/home/gxj/arm下(这个目录根据自己的情况自行建立)。

1.解压文件

执行命令:sudo tar -zxvf arm-linux-gcc-4.4.3.tar.gz

2.建立目录

执行命令:sudo mkdir /usr/local/arm

3.复制文件

执行命令:sudo cp -r /home/gxj/arm/gcc-4.6.4 /usr/local/arm

4.添加环境变量(下面vi或vim只用其中一种,我的不能使用vim,所以我使用的是vi)
添加环境变量以下一共有三种方法,分别介绍如下:
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
执行命令:sudo (vi)vim /etc/bash.bashrc

在最后加上 export PATH=$PATH:/home/gxj/arm/gcc-4.6.4/bin (路径)(注意等号那边不要有空格)

方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)(推荐使用)
执行命令:sudo (vi)vim /etc/profile
增加路径设置添加如下:
在done的下一行插入 export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin (路径)(注意等号那边不要有空格)

方法三:修改/etc/environment文件
执行命令:sudo (vi)vim /etc/environment

原文件应为 PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
将其改为PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/gcc-4.6.4/bin"
根据每个人电脑不一样,原路径有可能不一样,但修改后只是在原路径后面多了一个自己的路径(/usr/local/arm/gcc-4.6.4/bin)
关于环境变量问题:

环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/4.4.1/binarm-linux-gcc 文件名 -o 输出文件名
这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。

5.注册环境变量
立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法(上面三种方法对应的生效方法如下)
方法一:source /root/.bashrc 或者 ./etc/bash.bashrc
方法二:source /etc/profile
方法三:立即生效

6.检查是否将路径加入到PATH
执行命令:echo $PATH
显示为/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/gcc-4.6.4/bin则说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。

7.测试是否安装成功
方法一:另开一个终端,输入arm-,然后按两下Tab,如果出现下列信息,则表明安装成功
arm-arm1176jzfssf-linux-gnueabi-addr2line
arm-arm1176jzfssf-linux-gnueabi-ar
arm-arm1176jzfssf-linux-gnueabi-as
arm-arm1176jzfssf-linux-gnueabi-c++
arm-arm1176jzfssf-linux-gnueabi-cc
arm-arm1176jzfssf-linux-gnueabi-c++filt
arm-arm1176jzfssf-linux-gnueabi-cpp
arm-arm1176jzfssf-linux-gnueabi-ct-ng.config
arm-arm1176jzfssf-linux-gnueabi-elfedit
arm-arm1176jzfssf-linux-gnueabi-g++
arm-arm1176jzfssf-linux-gnueabi-gcc
arm-arm1176jzfssf-linux-gnueabi-gcc-4.6.4
arm-arm1176jzfssf-linux-gnueabi-gcov
arm-arm1176jzfssf-linux-gnueabi-gprof
arm-arm1176jzfssf-linux-gnueabi-ld
arm-arm1176jzfssf-linux-gnueabi-ld.bfd
arm-arm1176jzfssf-linux-gnueabi-ldd
arm-arm1176jzfssf-linux-gnueabi-nm
arm-arm1176jzfssf-linux-gnueabi-objcopy
arm-arm1176jzfssf-linux-gnueabi-objdump
arm-arm1176jzfssf-linux-gnueabi-populate
arm-arm1176jzfssf-linux-gnueabi-ranlib
arm-arm1176jzfssf-linux-gnueabi-readelf
–More–

方法二:在终端里输入arm-linux-gcc -v,这个命令会显示arm-linux-gcc信息和版本,如果出现以下信息则表示安装成功
Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/usr/local/arm/gcc-4.6.4/bin/…/libexec/gcc/arm-arm1176jzfssf-linux-gnueabi/4.6.4/lto-wrapper
Target: arm-arm1176jzfssf-linux-gnueabi
Configured with: /work/builddir/src/gcc-4.6.4/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-arm1176jzfssf-linux-gnueabi --prefix=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4 --with-sysroot=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/sysroot --enable-languages=c,c++ --with-arch=armv6zk --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion=‘crosstool-NG hg+default-2685dfa9de14 - tc0002’ --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-mpfr=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-mpc=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-ppl=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-cloog=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-libelf=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-host-libstdcxx=’-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm’ --enable-threads=posix --enable-target-optspace --without-long-double-128 --disable-nls --disable-multilib --with-local-prefix=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/sysroot --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.6.4 (crosstool-NG hg+default-2685dfa9de14 - tc0002)

注意:如果执行命令:arm-linux-gcc -v 提示:没有那个文件或目录

但的确配置成功,并且可以找到安装的文件目录。

解决办法:

执行命令:sudo apt-get install lsb-core

安装完成之后,再执行arm-linux-gcc -v输出正常

2019-01-10 15:19:05 yhl_sophia 阅读数 636

系统版本:Ubuntu 18.04.1 LTS

编译器资源:arm-linux-gcc 4.4.3.tar.gz(网上搜索有资源可下载)

 

用windows下载arm-linux-gcc 4.4.3.tar.gz压缩包并放到samba服务的共享文件夹,这里如果windows不能访问共享文件夹的话检查下smb.conf文件的配置,是否有writeable = yes,还有就是目录的权限也要记得修改(具体网上有很多博客介绍了)。

 

进入ubuntu,从Ubuntu进入共享文件夹,将压缩包移动至/usr/local文件夹下(登陆root进行一系列操作)

mv  [源文件] [目标文件/目标文件夹]

 

将压缩包解压至目前目录(/usr/local)下

tar   zxvf  arm-linux-gcc 4.4.3.tar.gz  -C  /

 

修改环境变量

vi   /etc/profile 

在profile文件末尾添加下列内容,将arm-linux-gcc 4.4.3的bin目录下的文件的文件路径添加到PATH变量

export PATH=$PATH:/usr/local/opt/FriendlyARM/toolschain/4.4.3/bin/(这里要看bin文件夹的具体位置,我解压后的路径是这个)

 

让环境变量生效

source /etc/profile(用root权限操作)

检查环境变量是否配置成功

echo $PATH

 

检查编译器环境是否搭建成功

arm-linux-gcc -v

如果出现以下编译器的信息则成功

Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1) 

 

如果显示:命令未找到

则输入下列命令

sudo apt-get install ia32-lib
sudo sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1

 

验证功能

新建hello.c

vi hello.c

输入文件内容

#include <stdio.h>

int main()
{
   printf("hello world=====\n");
   return 0;
}

保存后退出,输入命令

arm-linux-gcc hello.c -o hello

若提示 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
 

 则输入以下命令,安装相应的库:

sudo apt-get install glibc.i686
sudo apt-get install lib32stdc++6

 

这里简述下gcc 和 arm-linuxgcc两者的区别

GCC :The GNU Complier Collection,是一套由GNU开发的编译器集,支持C、C++、Ada、Objective C等许多语言。

GCC编译后的可执行文件可直接在linux系统上运行

而arm-linux-gcc是基于ARM目标机的交叉编译软件,其生成的可执行文件不能直接在linux系统上运行,但可下载到目标机中执行。

 

Linux 4.10亮点特性

阅读数 229

没有更多推荐了,返回首页