libusb交叉编译以及在QT中的调用
- 下载libusb
- 交叉编译libusb
将下载好的libusb压缩包解压后进入该文件
执行下列指令
./configure --build=i686-linux --host=arm-linux --prefix=/usr/local/usb/install CC=/usr/bin/arm-linux-gnueabi-gcc CXX=/usr/bin/arm-linux-gnueabi-g++
执行上述指令后报如下错误
configure:error:“udev support requested but libudev not installed”
解决方法:在上述编译命令后面添加
--disable-udev
或者
sudo apt-get install libudev-dev
然后执行
make&&make install
执行完make install后我们可以在prefix指定的目录中看到编译好的库及相应的头文件。
–build=i686-linux表示该软件在x86平台被编译
–host=arm-linux表示该软件编译完成后在arm平台上运行
–prefix后面为软件安装目录。
CC和CXX根据实际的gcc和g++的arm编译器所在的路径输入
然后
make
再然后
sudo make install
最后在QT中添加库文件即可
在linux中编写usb程序一定要使用超级管理员权限运行,否则会出段错误,如果不是用root权限,也得先交叉编译之后,在ARM中sudo ./该程序,否则也会提示段错误