[英]libusb cross compiling for raspberry pi3 on ubuntu
我遵循的步驟交叉編譯libusb-1.0.9
以與已經交叉編譯的QT5
for raspberry pi3
。 我的libusb1.0.9
文件夾位於/home/yasir/Development/crosscompile/libususb-1.0.9
在/mnt/rasp-pi-rootfs/
rasp /mnt/rasp-pi-rootfs/
安裝樹莓派 pi3 的映像
腳步
第1步。
在/home/yasir/Development/crosscompile
我運行這個
./fixQualifiedLibraryPaths /mnt/rasp-pi-rootfs/ /home/yasir/Development/crosscompile/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc
第2步。
然后我去/home/yasir/Development/crosscompile/libususb-1.0.9
我運行這個
./configure --host=arm-linux --prefix=/usr/local/libusb-rpi -disable-udev --with-sysroot=/mnt/rasp-pi-rootfs/ CROSS_COMPILE=/home/yasir/Development/crosscompile/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- CFLAGS=-I/mnt/rasp-pi-rootfs/usr/include/ /mnt/rasp-pi-rootfs/usr/local/include/ LIBS=-L/mnt/rasp-pi-rootfs/usr/lib
第 3 步
sudo make
第四步
sudo make install
第 5 步
make install
確實將文件復制到 PC 上的/usr/local/libusb-rpi
,但不會復制到掛載的映像。 所以我做了這個
sudo mkdir -p /mnt/rasp-pi-rootfs/usr/local/libusb-rpi
sudo rsync -avh /usr/local/libusb-rpi/ /mnt/rasp-pi-rootfs/usr/local/libusb-rpi/
但是 QT5 編譯器聲稱我這樣做時libusb-1.0.so
格式錯誤
object dump -f libusb-1.0.so
這清楚地表明libusb -1.0.so
文件是生成的,但不是用於libusb -1.0.so
pi arm 架構的,而是用於主機系統的。
請告訴我我錯在哪里。 為什么libusb-1.0.so
文件沒有針對 arm 架構(raspberry pi3)進行交叉編譯,而我已經使用了所有正確的工具進行交叉編譯。
請提供建議,以便我可以通過交叉編譯為 rapberry pi3 生成.so
文件,盡管我也在libusb.so
pi3 本身調查了生成的libusb.so
文件,但發現它體積小,其架構也是 arm。
我使用下面的腳本進行配置,然后生成了一個正確的 libusb-1.0.so 文件,其架構適用於 arm(樹莓派 pi3)。
./configure CC=/home/yasir/Development/crosscompile/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc --host=arm-linux --enable-udev=no --enable-shared --prefix=/usr/local/libusb-rpi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.