13

我在 ubuntu12.04 上使用 g++/gcc 编译,它是“好的”,但我无法使用树莓派工具大师进行交叉编译

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

树莓派内核版本 3.2.27(izzit 我需要启用“如何”并再次重建)?

4

2 回答 2

2

其作品!!!我需要在树莓派交叉工具大师中交叉编译和 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”

于 2013-07-31T06:44:02.273 回答
0

如果您执行上述操作,它将安装适用于 x86 的库。上述库应该在树莓跨工具链中。如果它不存在,那么您需要为 arm 架构交叉编译它。然后你必须按照 cmd 导出它

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path to library

export首先使用命令导出工具。

export PATH=$PATH:/path to tool chain

在执行上述第 1 项之前,请尝试以下操作

例如 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

于 2013-07-23T11:13:15.367 回答