致命错误:libudev.h:没有这样的文件或目录

时间:2013-07-23 10:50:43

标签: linux linux-device-driver

我在ubuntu12.04上使用g ++ / gcc编译并且它是“OK”但是我无法使用raspberry pi tools master进行交叉编译

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我需要启用“how”并重新重建)?

2 个答案:

答案 0 :(得分:1)

它的作品!!!我需要在raspberry pi cross toolsmaster中交叉编译和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/

工具设置。 用于编写程序: 添加#include以使用他的库。 使用以下代码编译:

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

注意:请勿错过“-lusb-1.0”

答案 1 :(得分:0)

如果您执行上述操作,则会安装适用于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