RK3568 编译sdk技巧

电子说

1.3w人已加入

描述

我司RK3568对外提供源代码是以sdk的形式提供,包括但不仅限于uboot、kernel、buildroot、debian源码。在编译sdk的过程中往往需要安装大量的第三方安装包,同时也要保证宿主机ubuntu的gcc版本符合当前ubuntu版本的需求,否则可能会因为gcc版本的不一致导致编译失败。

SDK

IAC-RK3568-KIT

有些客户需要多个版本的gcc,如果贸然通过apt-get命令安装多个版本gcc,会引起gcc版本冲突,造成环境无法控制,引发比较严重的后果。为了更好的管理gcc的版本,这里就分享一个小技巧,用一些管理工具去控制gcc版本,让多版本gcc切换自如,避免多gcc版本同时存在造成的不可预估的错误。

这里我们以ubuntu20.04为例为大家演示。首先我们通过gcc -v命令查看当前gcc版本(ubuntu16.04以后安装ubuntu会自带相对应版本gcc编译器,无需手动安装)

SDK

如图所示

可以看到ubuntu20.04对应的gcc版本为9.4,那么说明当前环境下是gcc 9.4的环境,用gcc命令去编译程序,调用的就是9.4版本的gcc。高版本gcc支持更高级的语法,对于一些老旧的程序而言可能存在问题,所以我们安装另外一个低版本gcc,gcc5.4。

输入命令apt-cache policy gcc-5查看gcc可用版本,这里选择5.4.0,然后用sudo apt-get install gcc-5=5.4.0-6ubuntu1~16.04.12,安装完毕后使用ls /usr/bin/gcc*命令可以查看到当前ubuntu内有两个gcc,分别是gcc-9和gcc-5,说明我们安装gcc5成功,然后就是通过update-alternativers命令去管理这两个gcc。

输入命令:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50

这样就建立了两个gcc的链接,后面的数字是优先级,数字越大,优先级越高,再键入下面的命令用于选择gcc版本sudo update-alternatives --config gcc

SDK

如图所示

这里我们选择gcc-5对应的编号1,然后回车即可。最后用gcc -v命令查看一下当前ubuntu gcc版本,发现是gcc5,说明配置成功。

对于多版本gcc的管理,这样的方法能够很好的避免版本冲突造成的问题,同时这里分享的是gcc的版本管理,相同的g++也可这样做。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分