交叉编译Raspberry Pi的Qt 5.0.1时出错

时间:2013-03-03 23:04:27

标签: qt cross-compiling raspberry-pi raspbian crosstool-ng

我正在尝试为我的Raspberry Pi交叉编译Qt 5.0.1(目前的最新版本)。我的设置如下:

操作系统:Ubuntu 12.04 32位

交叉编译器:使用确切的指令found here

从crosstool-NG程序构建

Raspberry Pi操作系统:Raspbian Wheezy 2013-02-09(安装在/ mnt / raspberry-pi-rootfs)

配置命令:

./configure -no-pch -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=/home/<myusername>/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- -sysroot /mnt/raspberry-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5-raspberry-pi -v

当我运行configure命令时,它总是失败并出现以下错误:

Could not determine the target architecture!

/mnt/raspberry-pi-rootfs/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory

任何人都知道这意味着什么?

我已经尝试了最新预构建的Linaro Toolchain交叉编译器from here,并且Qt至少构建了,但是任何用它编译的程序一旦程序运行就会导致SIGILL(非法指令)错误,我猜测是因为我使用的预构建交叉编译器并未针对正确的架构。

注意:

我知道交叉编译非常困难,但我想更多地了解正在发生的事情

1 个答案:

答案 0 :(得分:0)

我不确定这条消息的确切原因是什么,但我设法通过在这里使用Raspberry Pi的pre-buils工具链进行整理:

https://github.com/raspberrypi/tools