当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请教 如何 在 UBUNTU 下 切换 GCC的 版本 ??我 按照 里 都 实过了 无 效果阿!
帖子发表于 : 2009-10-03 10:51 

注册: 2009-08-10 20:54
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
zou@zou-desktop:~$ aptitude search 'gcc 3'
i gcc-3.4 - GNU C 编译器
i A gcc-3.4-base - GNU 编译器套装 (基本包)
p gcc-3.4-doc - Documentation for the GNU compilers (gcc,
i gcc-4.3 - GNU C 编译器
i gcc-4.3-base - GNU 编译器套装 (基本包)
p gcc-4.3-doc - Documentation for the GNU compilers (gcc,
p gcc-4.3-locales - The GNU C compiler (native language suppor
i A gcc-4.3-multilib - The GNU C compiler (multilib files)
p gcc-4.3-source - Source of the GNU Compiler Collection
p gcc-h8300-hms - The GNU C compiler (cross compiler for h83
p libsoci-sqlite3-gcc - C++ Database Access Library (SQLite3 backe
zou@zou-desktop:~$


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请教 如何 在 UBUNTU 下 切换 GCC的 版本 ??我 按照 里 都 实过了 无 效果阿!
帖子发表于 : 2009-10-03 10:51 

注册: 2009-08-10 20:54
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
zou@zou-desktop:~$ gcc -v
使用内建 specs。
目标:i486-linux-gnu
配置为:../src/configure -v --with-pkgversion='Ubuntu 4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
线程模型:posix
gcc 版本 4.3.3 (Ubuntu 4.3.3-5ubuntu4)


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请教 如何 在 UBUNTU 下 切换 GCC的 版本 ??我 按照 里 都 实过了 无 效果阿!
帖子发表于 : 2009-10-03 10:53 

注册: 2009-08-10 20:54
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
zou@zou-desktop:~$ export CC=gcc-3.4
zou@zou-desktop:~$ gcc -v
使用内建 specs。
目标:i486-linux-gnu
配置为:../src/configure -v --with-pkgversion='Ubuntu 4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
线程模型:posix
gcc 版本 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
zou@zou-desktop:~$


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 请教 如何 在 UBUNTU 下 切换 GCC的 版本 ??我 按照 里 都 实过了 无 效果阿!
帖子发表于 : 2009-10-03 10:56 
头像

注册: 2008-04-07 17:36
帖子: 4010
地址: 泰安人在阜新
送出感谢: 0 次
接收感谢: 0 次
使用新立得装上所有你需要的gcc版本

然后/usr/bin里就会有数个版本的gcc,

运行 ls -l /usr/bin |grep gcc

例如我的

-rwxr-xr-x 1 root root 428 2006-05-07 17:28 c89-gcc
-rwxr-xr-x 1 root root 451 2006-05-07 17:27 c99-gcc
lrwxrwxrwx 1 root root 7 2009-09-02 12:45 gcc -> gcc-4.4
-rwxr-xr-x 1 root root 255192 2009-10-02 21:42 gcc-4.4
lrwxrwxrwx 1 root root 7 2009-09-13 13:33 winecpp -> winegcc
lrwxrwxrwx 1 root root 7 2009-09-13 13:33 wineg++ -> winegcc
-rwxr-xr-x 1 root root 30148 2009-09-11 19:05 winegcc
lrwxrwxrwx 1 root root 7 2009-09-02 12:45 x86_64-linux-gnu-gcc -> gcc-4.4
lrwxrwxrwx 1 root root 7 2009-10-03 10:52 x86_64-linux-gnu-gcc-4.4 -> gcc-4.4

也就是都是一堆软链接

你需要那个,就把哪个链接到gcc就行了


_________________
宇宙数学物理 sssssssss Ubuntu 桌面培训 sssssssss 问打包的问题之前先看
和我一样的新手请看,我看过了,腰不酸了,腿不疼了,上楼也有劲了
想去IRC的点这里——一个比QQ群好N多的东西


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 请教 如何 在 UBUNTU 下 切换 GCC的 版本 ??我 按照 里 都 实过了 无 效果阿!
帖子发表于 : 2009-10-03 11:35 

注册: 2009-08-10 20:54
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
嵌入式Linux实战篇--交叉编译环境的建立(基于ubuntu 8.10)

作者:曹忠明,华清远见嵌入式学院讲师

在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。本文具体说明了嵌入式交叉编译环境的建立过程和具体的操作步骤,希望能够对各位朋友搭建对应的交叉编译环境有所帮助。

一、所需软硬件环境

■ 主机环境

建立交叉编译工具链的主机环境:

Ubuntu 8.10,gcc-4.3.2

■ Ubuntu 8.10软件环境

保证你的 Ubuntu 8.10 安装了如下的软件:

Bison flex build-essential patch libncurses5-dev

安装这些软件包:

sudo apt-get install Bison flex build-essential patch libncurese5-dev

或直接下载下列deb软件包

bison_13a2.3.dfsg-4build1_i386.deb

build-essential_11.4_i386.deb

flex_2.5.33-10build1_i386.deb

libncurses5-dev_5.6+20071124-1ubuntu2_i386.deb

m4_1.4.8-1build1_i386.deb

patch_2.5.9-5_i386.deb

然后 sudo dpkg –i *.deb 安装这些软件包。

■ 相关软件包

本方案所选软件包如下:

gcc-3.4.5.tar.gz

glibc-2.3.6.tar.gz

linux-2.6.26.5.tar.gz

crosstool-0.43.tar.gz

binutils-2.15.tar.gz

glibc-linuxthreads-2.3.3.tar.gz

linux-libc-headers-2.6.12.0.tar.bz2

二、具体工作步骤

1、修改系统配置

1.1、Ubuntu 8.10 默认安装的 gcc 版本为4.3.2,这个版本对于语法要求较高,编译会出错,目前不宜选用,于是选择了 gcc-4.1.1 ,但并不需要卸载 gcc-4.3.2。

(1)第一种方法:直接在终端输入安装gcc-4.1

sudo apt-get install gcc-4.1

(2)第二种方法:下载下列软件包:

gcc-4.1_4.1.2-23ubuntu3_i386.deb

gcc-4.1-base_4.1.2-23ubuntu3_i386.deb

cpp-4.1_4.1.2-23ubuntu3_i386.deb

然后sudo dpkg –i *.deb

安装就可以了

sudo rm /usr/bin/gcc (删除GCC,它只是个到gcc-4.3.2的软链接文件)

sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的软链接)

1.2、修改sh版本

如果运行

ls -la /bin/sh

看到链接的是 dash ,则请运行以下命令

sudo dpkg-reconfigure dash

选择 no 以删除 dash

此处如果不改好的话,编译时会出现错误

2.解压软件包,并进入该目录,查看重要的脚本文件。

$cd downloads

$tar –zxvf crosstool-0.43.tar.gz

$cd crosstool-0.43

在此目录下可以看到有很多.sh脚本和.dat配置文件,每一个支持的处理器都有它所相应的脚本。假如选用demo-arm-softfloat.sh 就是建立目标为支持软浮点的arm交叉编译工具链。

3.修改demo-arm-softfloat.sh

$vim demo-arm-softfloat.sh

修改下面两句

TARBALLS_DIR=$HOME/downloads //表示下载的源码的存放目录

RESULT_TOP=/opt/crosstools //表示生成的工具链的存放目录

为:

TARBALLS_DIR=/home/linux/downloads(源码存放目录)

RESULT_TOP=/home/linux/crosstools(生成工具链目录)

4.修改 gcc-3.4.5-glibc-2.3.6.dat

$ vim gcc-3.4.5-glibc-2.3.6.dat

修改内容为:

BINUTILS_DIR=binutils-2.15

GCC_DIR=gcc-3.4.5

GLIBC_DIR=glibc-2.3.6

LINUX_DIR=linux-2.6.26.5

LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0

GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6

5.$ ./ demo-arm-softfloat.sh

这个过程较长(半个小时左右)

6.修改环境变量

修改环境变量有多种方法我们介绍两种

(1)第一种方法:在当前用户目录的.bashrc中添加如下内容

$export PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin:

(2)第二种方法:或直接修改/home/linux/.bashrc

cd /home/linux

vim .bashrc

添加如下内容:

PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin:

然后

source .bashrc

7.执行如下命令

$ arm-softfloat-linux-gnu-gcc -v

显示

Reading specs from /home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/lib/gcc/arm-softfloat-linux-gnu/3.4.5/specs

Configured with: /home/david/downloads/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.4.5-glibc-2.3.6/gcc-3.4.5/configure --target=arm-softfloat-linux-gnu --host=i686-host_pc-linux-gnu --prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu --with-float=soft --with-headers=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/include --with-local-prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long

Thread model: posix

gcc version 3.4.5

ok交叉编译环境创建成功!

8.恢复我们修改的系统配置:

恢复gcc为4.3

sudo rm /usr/bin/gcc

sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc

重新安装dash

sudo dpkg-reconfigure dash

选择 yes 以重新安装 dash


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 请教 如何 在 UBUNTU 下 切换 GCC的 版本 ??我 按照 里 都 实过了 无 效果阿!
帖子发表于 : 2009-10-03 12:54 
头像

注册: 2008-10-27 22:28
帖子: 1151
地址: 暮色酒馆
送出感谢: 0 次
接收感谢: 0 次
sudo ln -sf /usr/bin/gcc-4.2 /usr/bin/gcc
sudo ln -sf /usr/bin/gcc-4.3 /usr/bin/gcc
我就这么来回切换


_________________
优猫饼


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 请教 如何 在 UBUNTU 下 切换 GCC的 版本 ??我 按照 里 都 实过了 无 效果阿!
帖子发表于 : 2009-10-03 13:02 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
楼上的方法不错,建议考虑,需要换gcc版本时随时改下链接文件就可以了。


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译