编译libiio出错

编译libiio出错

warning: libusb-1.0.so.0, needed by ../lib/libiio.so, not found (try using -rpath or -rpath-link)

添加依赖库

这是因为在编译时,libiio.so动态链接了libusb库,ld时找不到相应的库导致错误。

  • 在编译主机上新建一个目录如lib,将libiio依赖的库复制到lib中
    上面命令可以一键复制
    ldd /lib/arm-linux-gnueabihf/libiio.so| awk -F " " ‘{print $3}’|xargs -t -i cp {} .
    其中awk表示取出依赖库的路径
    xargs -t 表示打印命令 -i表示将xargs的每一项,一行一行的赋给后面的{}
  • 编译时在LDFLAGS中加入: -Wl,-rpath …/lib
    其中-Wl,-rpath …/lib表示依赖的库从…/lib中找
    使用-L…/lib是不管用的。

cmake传递编译命令

cmake -DCMAKE_CXX_COMPILER=arm-linux-gnueabi-g++ …

编译程序

arm-linux-gnueabihf-g++ -o do do.cpp -liio -I…/include -Wl,-rpath=…/lib

用qemu-arm运行程序

sudo apt install qemu-user
qemu-arm -L /usr/arm-linux-gnueabihf/ ./do

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值