OpenCV移植ARM之ldconfig配置

 一.在移植OpenCV之后,运行qt编译移植过来的程序出现如下问题:

/home/yyw/QtProject/MenuInstall # ./camera
./camera: error while loading shared libraries: libopencv_highgui.so.4.4: cannot open shared object file: No such file or directory

这是因为opencv的.so文件找不到,因此需要移植ldconfig到ARM开发板上,ldconfig默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.。


二、移植

1>在ubuntu的交叉编译器中拷贝ldconfig的脚本到/usr/bin下:我本地的是这个位置:

yyw@ubuntu:/$ sudo find -name ldconfig
./sbin/ldconfig
./usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/sbin/ldconfig
 

2>修改ldconfig的权限:chmod 777 /bin/ldconfig

3>在/etc/ 中新建文件 ld.so.conf,同时添加如下内容:

include /etc/ld.so.conf.d/*.conf

/usr/local/arm/lib/opencv/lib //opencv的.so的文件路径

4>新建文件夹 /etc/ld.so.conf.d,在文件夹下创建opencv.conf,并添加opencv的.so文件具体路径:/usr/local/arm/lib/opencv/lib


三、执行ldconfig

注意,如果出现如下警告,可以先不理会:

ldconfig: /lib/libstdc++.so.6.0.20-gdb.py is not an ELF file - it has the wrong magic bytes at the start.

ldconfig: /lib/ld-linux-armhf.so.3 is not a symbolic link

ldconfig: /usr/lib/libiperf.so.0 is not a symbolic link

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值