gcc61升级成功但是版本不变|linux下gcc版本升级问题

① 如何通过ppa安装/升级gcc和g 版本到4.8.1

1.更新Ubuntu的gcc和g++版本,依次进行如下操作:sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get install gcc-4.7sudo apt-get install g++-4.72.本人安装过程中提示有存在依赖关系的文件未安装,gcc-4.6-base,则先安装该软件:sudo apt-get install gcc-4.6-base3.升级完成使用gcc –version(1)若显示有多个软件包包含gcc,让选择一个安装。可是进行gcc重新又显示已经安装。进入/usr/bin/目录后发现gcc-4.7和g++-4.7都存在,但是未发现他们的链接gcc和g++(其实我们平常使用的gcc和g++都是指向具体版本例如gcc-4.7和g++-4.7的符号链接哦),因此重建符号链接即可cd /usr/binsudo ln -s gcc-4.7 gccsudo ln -s g++-4.7 g++(2)若显示版本依然是4.4.3(或者你的旧版本号),并没有把4.7版设置为默认的gcc的链接文件,进入/usr/bin/把gcc这个文件删除,建立链接到gcc-4.7(g++类似):cd /usr/binsudo rm gccsudo ln -s gcc-4.7 g++sudo rm g++sudo ln -s g++-4.7 g++4.现在编译并执行例程,ok!编译通过了!

② 如何检查 GCC的版本linux 如果升级GCC

livecd安装的Fedora8是不来含有gcc 的。自而你下载的gcc4.2.4应该是源代码,用源代码编译gcc是一件比较复杂的事情,而且要求本身安装有gcc才行(用gcc 编译gcc…)。你可以上http://rpmfind.net/去搜索下载一个适用于Fedora8的gcc的rpm包。但是rpm的依赖关系比较复杂,你用livecd安装的系统会缺少很多倚赖的包…所以我推荐使用yum安装(最好设置好yum源,这样会快一点)。打开一个终端,输入:yum install gcc (root用户)非root用户可以输入su -c 'yum install gcc'事实上,设置好Fedora8的extra源之后可以使用yum install mplayer直接安装mplayer另外yum也有图形化的界面yumex,你可以通过yum install yumex先安装它。如果没有安装yum 的话,可插入光盘先安装yum工具.

③ linux下怎么更新gcc版本

一个系统对应一个gcc的版本,如果不能用yum装或者源码装的版本不对,就去解压这个系统镜像,那里面有最适合的gcc,版本高了也不行

④ linux下安装了6.1.0版本的gcc,但cmake时用的还是旧版的gcc

这个应该是动态库的问题吧,我之前遇到的问题就是这样解决的:

strings /usr/lib64/libstdc++.so.6 | grep GLIBC\检查动态库

mv /usr/lib64/libstdc++.so.6 /tmp

ln -s /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6

首先可以检查目前的链接库:

[[email protected] gcc-6.1.0]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

GLIBCXX_3.4

GLIBCXX_3.4.1

GLIBCXX_3.4.2

GLIBCXX_3.4.3

GLIBCXX_3.4.4

GLIBCXX_3.4.5

GLIBCXX_3.4.6

GLIBCXX_3.4.7

GLIBCXX_3.4.8

GLIBCXX_3.4.9

GLIBCXX_3.4.10

GLIBCXX_3.4.11

GLIBCXX_3.4.12

GLIBCXX_3.4.13

GLIBC_2.2.5

GLIBC_2.3

GLIBC_2.4

GLIBC_2.3.2

GLIBCXX_FORCE_NEW

GLIBCXX_DEBUG_MESSAGE_LENGTH

果然是老的链接 ,GLIBCXX_3.4.13往后的都没有了

搜索新的链接库位置:

[email protected] gcc-6.1.0]# find / -name libstdc++.so.6

/usr/lib64/libstdc++.so.6

/usr/local/lib64/libstdc++.so.6

/usr/local/src/gcc-6.1.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

/usr/local/src/gcc-6.1.0/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

/usr/local/src/gcc-6.1.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

/root/vmware-tools-distrib/caf/usr/lib/vmware-caf/pme/lib/libstdc++.so.6

/root/vmware-tools-distrib/lib/lib64/libstdc++.so.6

/root/vmware-tools-distrib/lib/lib64/libstdc++.so.6/libstdc++.so.6

/root/vmware-tools-distrib/lib/lib32/libstdc++.so.6

/root/vmware-tools-distrib/lib/lib32/libstdc++.so.6/libstdc++.so.6

查找链接客户的内容,然后确定/usr/local/lib64/libstdc++.so.6是新的链接库,

移除老的链接库,然后关联新的链接库:

[[email protected] gcc-6.1.0]# mv /usr/lib64/libstdc++.so.6 /tmp

[[email protected] lib64]# cd /usr/lib64

[[email protected] lib64]# ln -s /usr/local/lib64/libstdc++.so.6 libstdc++.so.6

[[email protected] lib64]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

GLIBCXX_3.4

GLIBCXX_3.4.1

GLIBCXX_3.4.2

GLIBCXX_3.4.3

GLIBCXX_3.4.4

GLIBCXX_3.4.5

GLIBCXX_3.4.6

GLIBCXX_3.4.7

GLIBCXX_3.4.8

GLIBCXX_3.4.9

GLIBCXX_3.4.10

GLIBCXX_3.4.11

GLIBCXX_3.4.12

GLIBCXX_3.4.13

GLIBCXX_3.4.14

GLIBCXX_3.4.15

GLIBCXX_3.4.16

GLIBCXX_3.4.17

GLIBCXX_3.4.18

GLIBCXX_3.4.19

GLIBCXX_3.4.20

GLIBCXX_3.4.21

GLIBCXX_3.4.22

GLIBC_2.3

GLIBC_2.2.5

GLIBC_2.3.2

GLIBCXX_FORCE_NEW

GLIBCXX_DEBUG_MESSAGE_LENGTH

ok,现在在编译试试!!更多 Linux知识建议参考《Linux就该这样学》,加油!!!

⑤ linux下gcc版本升级问题

稳定才是最重要的,首先把你的内核稳定下来在来稳定你的GCC,千万不要用YUM升级它会升级到最新的。否则会出现一些莫名其妙的问题。

⑥ gcc升级后静态库要升级吗

gcc升级后静态库需要升级源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21&#39 not found的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)

⑦ 我先前有旧版本的gcc然后又装了个新版本的gcc,用的时候默认都是旧版本的,请问如何屏蔽掉旧版本的

把旧的版本再重新装一遍再卸载试试看希望对你会有帮助 谢谢!~

⑧ gcc升级求助

1.下载GCC源码:wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.gz2.解压:tar -zxvf gcc-5.2.0.tar.gz3.下载编译所需依赖项:cd gcc-5.2.0 //进入解包后的gcc文件夹./contrib/download_prerequisites //下载依赖项cd .. //返回上层目录4.建立编译输出目录:mkdir gcc-build-5.2.05.进入输出目录,执行以下命令,并生成makefile文件:cd gcc-build-5.2.0../gcc-5.2.0/configure –enable-checking=release –enable-languages=c,c++ –disable-multilib6.编译:make -j4接下来就是等待了,整个过程大约40分钟左右。PS:最好不要在编译过程中再去做别的什么事,整个过程CPU都是满载的,要是莫名终止了,后面麻烦事也不少。切记编译时当前目录剩余空间要最少4G以上,否则会编译失败7.安装:编译结束以后,我们就可以执行安装了:make install8.检查版本:gcc –version或gcc -v7.切换GCC到新版确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下ls /usr/local/bin | grep gcc添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了update-alternatives –install /usr/bin/gcc x86_64-unknown-linux-gnu-gcc-5.2.0 /usr/local/bin/x86_64-unknown-linux-gnu-gcc-5.2.0 40之后,你需要把usr/bin/目录下的gcc文件删除掉或者避免意外发生,可以把它命名为gcc.bak。这里需要说明的,实际上你在用gcc -v查看当前版本时,就一直使用的usr/bin/gcc。而ln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc-5.2.0 /usr/bin/gcc的目的就是为了生成gcc版本5.2的。此步骤完整操作如下:mv /usr/bin/gcc /usr/bin/gcc.bakln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc-5.2.0 /usr/bin/gcc8.确认当前版本已经切换为新版gcc -v我这里用ssh远程的,发现版本没变,断开重练下,重新生成会话后发现变成了5.2了!


赞 (0)