RK系列芯片配置交叉编译环境

前言

最近做嵌入式软开相关的项目,使用到了rk3568的芯片,在开发工作进行前首先需要在Ubuntu上配置交叉编译环境,中途也踩了不少坑,记录下来供大家学习探讨,如有错误,感谢指出。

编译工具链的下载

首先需要从商家那里获取厂家的编译工具链,C/C++的程序需要经过 gcc 等编译成二进制程序才能被计算机使用,这里的 gcc 通常是泛指,包括 gcc 、 g++ 、ar 、as 、ld 等一系列工具,这些工具用在程序文件的预编译、编译、链接等整个过程中,这整一套工具就被称为 编译工具链(Toolchain)。
官网上下载地址是rk系列编译工具链下载
我是将工具链下载到Unbuntu系统中的opt目录中(/opt 目录用来安装附加软件包,是用户级的程序目录,可以理解为 D:/Software)也有不少人直接是将安装包放在/usr/local目录下(用户级的程序目录,可以理解为 C:/Progrem Files/,用户自己编译的软件默认会安装到这个目录下)。
在安装目录解压下载的编译工具链

tar -xvf 下载的文件名

接着要在你的etc/profile目录中去添加环境变量(/etc/profile文件为系统的每个用户设置环境变量信息,此文件的修改会影响到所有用户。)

vi profile
//进入vim编辑器后再最后加入下载的路径,配置环境变量
export PATH=$PATH:/opt/解压文件名/bin/

tips:更改profile需要权限,保存的时候可以执行这个强制保存命令

w !sudo tee %

这里的tee是管道分支,%是指当前文件的路径寄存器
设置完成之后就可以正常编译文件了,但是我在实际运行中还是有报错,我是报了如下错误:

error while loading shared libraries: libXXXXXXX.so.1: cannot open shared object file: No such file or directory

这是编译器从我环境中设置的路径中找不到libXXXXXXX.so.1从而报错。在这里我使用的是virtualbox下的虚拟机报了这个错误,但是使用VMare虚拟机就能够正常编译了,未找到具体原因是什么,猜测是VMware功能更为强大,会自动补全搜索的路径,因为我这个文件确实是成功下载了,只是编译器未能找到,欢迎大佬在评论区补充。
这里继续问题的处理,查阅了网上很多处理方法,主要有以下几种,这里做一个总结:
首先在你的文件系统中找到这个库,可以在rk3568/host/bin/lib目录下执行

find . -name libXXXXXXX.so.1

如果找不到就重新下载安装包,可能安装解压时产生了问题。

1、如果你的文件安装在了/usr/local/lib,那么将该目录加入到共享库的配置文件中

 echo "/usr/local/lib" >> /etc/ld.so.conf
 ldconfig
 //以下为临时解决方案
 export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH 

2、直接进入etc/profile中修改配置文件

export LD_LIBRARY_PATH=/这个文件存放的绝对路径/libxxxxx.so.1/lib:$LD_LIBRARY_PATH、

3、编译时找不到这个库,就将这个库软链接到usr/local/lib文件下,再添加路径,这样编译器一定就可以找到,具体如下操作,先将这个库软链接到usr/local/lib

sudo ln -s /这个文件的绝对路径/libxxxxxx.so.1 /usr/local/lib
//再进入etc/profile中更改路径
export LD_LIBRARY_PATH="/usr/local/lib"
//保存后退出执行
sudo ldconfig

进入usr/local/lib文件下查看libXXXXXXX.so.1是否连接过来,如果正常链接过来之后就可以正常编译。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值