交叉编译路径设置问题

        在交叉编译中我们都是在宿主机上编译完成东西后到目标板上运行,这恰恰引来了路径的问题。

  1. 如果是一个单独的.so还好弄一些,直接拷贝到目标板根文件系统的我们所需要的位置后然后设置LD_LIBRARY_PATH指向该路径后,运行时程序就会搜索到需要的so即可运行
  2. 但是如果一个.so需要靠某个路径来加载配置etc,这个事情就麻烦了,如果你想学习PC机的那种目录结构就会引来你交叉编译的程序和本机程序冲突的问题,不能覆盖安装,怎么办呢? 一种方法是装到另一个路径上去这样虽然会引起一些目录上的变动,但是是很方便的,如果觉得这样不爽,就只能采取后一种方法了,那就是在./configure的时候将--prefix=/usr,然后在make install 的时候加入DESTDIR的变量设置安装根路径为rootfsdir(你自己的根文件系统的根路径),你交叉编译的程序就会被安装到rootfsdir/usr下面。这样在将rootfsdir做成镜像烧到板子上运行的时候绝对路径就是/usr了,和设置的prefix没有区别,程序即可正常运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值