1.Raspberry PI简单介绍
900MHz 主频四核 ARM Cortex-A7 处理器(博通 BCM2836), 交叉编译器一般采用armv7l
1G LPDDR2 SDRAM(Micron)
4个全尺寸 USB 接口(可用于供电)
一个 microUSB 接口
一个全尺寸 HDMI 接口
3.5 毫米音频接口
RJ45 以太网线接口
2.archlinuxarm.org下载对应的交叉编译器,其中包括rootfs
http://archlinuxarm.org/developers/distcc-cross-compiling
或者wget http://archlinuxarm.org/builder/xtools/x-tools7h.tar.xz
3.把x-tools7h.tar.xz解压
tar xJvf x-tools7h.tar.xz
将armv7l-unknown-linux-gnueabihf移动到你准备放置toolchain的目录下
假定我的是/home/zeno/armv7l-unknown-linux-gnueabihf
4.复制目标系统的rootfs
安装倚赖包
pacman -S mtdev pacman -Ql mtdev pacman -S sqlite pacman -S sqlite2 pacman -S sqlite pacman -S mysql pacman -S sqlite2 pacman -S icu pacman -S xorg pacman -R odroid-c1-libgl-x11 pacman -R odroid-c1-libgl-x11 xf86-video-odroid-c1 pacman -S gpu-viv-bin-mx6q-x11 pacman -S gegl pacman -S gtk2 pacman -S libgl gtk2 sqlite2
拷贝对应的目录到armv7l-unknown-linux-gnueabihf/armv7l-unknown-linux-gnueabihf/rootfs
4.修改环境变量
export PATH=$PATH:/home/zeno/armv7l-unknown-linux-gnueabihf/bin
5.编写qt的编译脚本
注意,因为本身的toolchain带有的sysroot文件比较少,如果你需要支持更多的开发选项,请复制树莓派系统中的目录来替代现有目录
主要有关系的是sysroot下的目录/home/zeno/armv7l-unknown-linux-gnueabihf/armv7l-unknown-linux-gnueabihf/sysroot/
{etc lib lib32 lib64 sbin usr var}这几个目录
#!/bin/bash
echo 'build Qt5 for embedded linux Author Zhong Chen'
cd ~/Qt5.4.1/5.4/Src/
mkdir ../raspberrypi2-armv7l-linux-gnueabihf
export PATH=$PATH:~/arm-unknown-linux-gnueabihf/bin
$PWD/configure -v \
-prefix ~/Qt5.4.1/5.4/raspberrypi2-armv7l-linux-gnueabihf/ \
-confirm-license \
-opensource \
-release \
-make libs \
-xplatform armv7l-unknown-linux-gnueabihf \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-no-sse2 \
-no-openssl \
-no-nis \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools
make -j2 && make install -j2
6.编译完成以后,在QT中配置相关的工具链地址即可。