更改Ubuntu gcc、g++默认编译器版本

36 篇文章 0 订阅

更改Ubuntu gcc、g++默认编译器版本
由于要编译mtcnn,(caffe)c++版,cmake 时,需要降级。
首先,看一下你的Ubuntu都装了哪些版本的gcc 用命令:

ls /usr/bin/gcc* -l 

显示如下:

lrwxrwxrwx 1 root root     14 85 17:35 /usr/bin/gcc -> /usr/bin/gcc-5
-rwxr-xr-x 1 root root 776344 126  2016 /usr/bin/gcc-4.8
-rwxr-xr-x 1 root root 838008 95  2016 /usr/bin/gcc-4.9
-rwxr-xr-x 1 root root 915736 622 07:04 /usr/bin/gcc-5
lrwxrwxrwx 1 root root      8 211  2016 /usr/bin/gcc-ar -> gcc-ar-5
-rwxr-xr-x 1 root root  27032 126  2016 /usr/bin/gcc-ar-4.8
-rwxr-xr-x 1 root root  27032 95  2016 /usr/bin/gcc-ar-4.9
-rwxr-xr-x 1 root root  31136 622 07:04 /usr/bin/gcc-ar-5
lrwxrwxrwx 1 root root      8 211  2016 /usr/bin/gcc-nm -> gcc-nm-5
-rwxr-xr-x 1 root root  27032 126  2016 /usr/bin/gcc-nm-4.8
-rwxr-xr-x 1 root root  27032 95  2016 /usr/bin/gcc-nm-4.9
-rwxr-xr-x 1 root root  31136 622 07:04 /usr/bin/gcc-nm-5
lrwxrwxrwx 1 root root     12 211  2016 /usr/bin/gcc-ranlib -> gcc-ranlib-5
-rwxr-xr-x 1 root root  27032 126  2016 /usr/bin/gcc-ranlib-4.8
-rwxr-xr-x 1 root root  27032 95  2016 /usr/bin/gcc-ranlib-4.9
-rwxr-xr-x 1 root root  31136 622 07:04 /usr/bin/gcc-ranlib-5

由上面显示可以看出默认安装的是gcc-5,现在来改成gcc-4.9

删除gcc-5的软连接文件/usr/bin/gcc。(只是删除软连接)

命令:

sudo rm /usr/bin/gcc

然后建一个软连接,指向gcc-4.9。

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

ok了,现在用命令:gcc –version 显示如下:
gcc (Ubuntu 4.9.2-6ubuntu1~16.04.10) 5.4.0 20160609

可是 make 时若出现如下错误:

CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin
.build_release/tools/extract_features.o: In function `*std::string* google::***MakeCheckOpString****<int, int>(int const&, int const&, char const*)':
extract_features.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc]+0x50): undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
.build_release/tools/extract_features.o: In function `std::string* google::MakeCheckOpString<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const*)':
extract_features.cpp:(.text._ZN6google17MakeCheckOpStringImmEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImmEEPSsRKT_RKT0_PKc]+0x51): undefined reference to `google::base::CheckOpMessageBuilder::NewString()'

此时改回原来的编译器版本gcc5就能顺利编译通过。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值