環境搭建和buildroot簡單的介紹請看:http://blog.csdn.net/lidroid/article/details/48022405
在buildroot中想要編譯第三方的庫,都在Taget Packages中,如待會編譯的Qt(這裏使用的是buildroot-2015-02的版本,配置和之前一樣)
一、配置編譯Qt
root@zxl:/work/tools/buildroot-2015.02# make menuconfig
Target packages --->
Graphic libraries and applications (graphic/text) --->
[*] Qt --->
Library type (Shared library) ---> //選擇編譯成共享庫
[*] Approve free license //導入自由許可證
Pixel depths --->
[*] 16 bpp, rgb 5-6-5
[*] 24 bpp, rgb 8-8-8
[*] 32 bpp, argb 8-8-8-8 and rgb 8-8-8
Fonts ---> //個人全部選上,字庫
freetype2 support (System freetype2) --->
JPEG support (System libjpeg) --->
zlib support (System zlib) --->
Graphics drivers --->
[*] Linux Framebuffer
Mouse drivers --->
[*] linuxtp
[*] linux input
[*] tslib
二、編譯buildroot(編譯時間,老爺機編譯了2個小時左右),查看根文件系統是否安裝了Qt相關的庫
root@zxl:/work/tools/buildroot-2015.02# ls output/target/usr/lib/libQ*
output/target/usr/lib/libQtCore.so.4 output/target/usr/lib/libQtGui.so.4.8.6 output/target/usr/lib/libQtScript.so.4.8
output/target/usr/lib/libQtCore.so.4.8 output/target/usr/lib/libQtNetwork.so.4 output/target/usr/lib/libQtScript.so.4.8.6
output/target/usr/lib/libQtCore.so.4.8.6 output/target/usr/lib/libQtNetwork.so.4.8 output/target/usr/lib/libQtXml.so.4
output/target/usr/lib/libQtGui.so.4 output/target/usr/lib/libQtNetwork.so.4.8.6 output/target/usr/lib/libQtXml.so.4.8
output/target/usr/lib/libQtGui.so.4.8 output/target/usr/lib/libQtScript.so.4 output/target/usr/lib/libQtXml.so.4.8.6
root@zxl:/work/tools/buildroot-2015.02#
三、掛載根文件系統並且測試Qt
3.1、編譯Qt的測試程序,進入qt源碼
root@zxl:/work/tools/buildroot-2015.02/output/build/qt-4.8.6# ls4
bin config.tests doc INSTALL LICENSE.GPL3 plugins src util
changes-4.8.6 configure examples LGPL_EXCEPTION.txt LICENSE.LGPL projects.pro templates
config.profiles configure.exe imports lib Makefile qmake tools
config.status demos include LICENSE.FDL mkspecs README translations
root@zxl:/work/tools/buildroot-2015.02/output/build/qt-4.8.6#
上面的demos爲Qt源碼自帶的例子,咱們就使用其來測試即可。測試前先要qmake -project在qmake在make即可生成Qt可執行文件。
第一個問題:qmake這個命令在哪裏?答:在buildroot-2015.02/output/build/qt-4.8.6/bin/qmake
root@zxl:/work/tools/buildroot-2015.02/output/build/qt-4.8.6/demos/mainwindow# ../../bin/qmake
root@zxl:/work/tools/buildroot-2015.02/output/build/qt-4.8.6/demos/mainwindow# make
moc colorswatch.cpp
compiling colorswatch.cpp
compiling mainwindow.cpp
compiling toolbar.cpp
compiling main.cpp
moc colorswatch.h
compiling .moc/release-shared-emb-arm/moc_colorswatch.cpp
moc mainwindow.h
compiling .moc/release-shared-emb-arm/moc_mainwindow.cpp
moc toolbar.h
compiling .moc/release-shared-emb-arm/moc_toolbar.cpp
rcc mainwindow.qrc
compiling .rcc/release-shared-emb-arm/qrc_mainwindow.cpp
linking mainwindow
root@zxl:/work/tools/buildroot-2015.02/output/build/qt-4.8.6/demos/mainwindow# ls
colorswatch.cpp main.cpp mainwindow.cpp mainwindow.pro Makefile titlebarCenter.png titlebarRight.png toolbar.h
colorswatch.h
mainwindow.h mainwindow.qrc qt.png titlebarLeft.png toolbar.cpp
root@zxl:/work/tools/buildroot-2015.02/output/build/qt-4.8.6/demos/mainwindow#
3.2、把生成的mainwindow拷貝到掛載的文件系統去運行:
./mainwindow -qws
3.3、開發板掛載和qt在板子上運行的效果: