web-dev-qa-db-ja.com

致命的なエラー:libudev.h:そのようなファイルまたはディレクトリはありません

Ubuntu12.04でg ++/gccを使用してコンパイルし、「OK」ですが、RaspberryPiツールマスターを使用してクロスコンパイルできません。

toolsmaster 
CC := /home/Desktop/Simple_Linux_Driver/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-g++
GCC := /home/Desktop/Simple_Linux_Driver/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc

次のアイテムをインストールしました。

-Sudo apt-get install libusb-1.0-0-dev
-Sudo apt-get install libudev-dev

Raspberry Piカーネルバージョン3.2.27(izzit「方法」を有効にして再構築する必要があります)?

9
WWJ

その作品!!! RaspberryPiクロスツールマスター内でクロスコンパイルしてcp.h.soを実行する必要があります。以下は私が試したことです。何かを見逃した場合はお知らせください。ありがとうございます^^ libusbの最新バージョンのtarファイルをダウンロードしてください。

バージョン1.0.8

$ TOOLCHAIN=/opt/FriendlyArm/toolchain/4.4.3/arm-none-linux-gnueabi
$ PATH=$PATH:$TOOLCHAIN/bin
$ CC='arm-none-linux-gnueabi-gcc -march=armv4t -mtune=arm920t'
$ CROSS_COMPILE=arm-none-linux-gnueabi-
$ export CC CROSS_COMPILE
$ tar xfv libusb-1.0.8.tar
$ cd libusb-1.0.8
$ ./configure --Host arm-linux
$ make
$ cd libusb
$ cp libusb.h $TOOLCHAIN/arm-none-linux-gnueabi/include/
$ cp libusb.h $TOOLCHAIN/arm-none-linux-gnueabi/sysroot/include/
$ cp .libs/libusb-1.0.so $TOOLCHAIN/arm-none-linux-gnueabi/lib/
$ cp .libs/libusb-1.0.so $TOOLCHAIN/arm-none-linux-gnueabi/sysroot/lib/

ツールチェーンIS SET。プログラムを作成する場合:ライブラリを使用するには#includeを追加します。次を使用してコンパイルします。

$arm-linux-g++ myprog.cpp -o myapp -lusb-1.0

注:「-lusb-1.0」をお見逃しなく

1
WWJ

上記を実行すると、x86用のライブラリがインストールされます。上記のライブラリは、ラズベリークロスツールチェーンに含まれている必要があります。存在しない場合は、armアーキテクチャ用にクロスコンパイルする必要があります。次に、次のcmdでエクスポートする必要があります

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path to library

まず、exportコマンドを使用してツールをエクスポートします。

export PATH=$PATH:/path to tool chain

上記を行う前に、次のことを試してください

例:export PATH = $ PATH:/ home/Desktop/Simple_Linux_Driver/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin /

すべての端末で毎回エクスポートする場合は、。

vi .bashrc

ファイルの最後に、以下のコマンドを追加するだけです。

export PATH=/path to tool chain bin:$PATH

例:export PATH=/opt/Arm_tool_chain/bin:$PATH

0
vinay hunachyal