网上找了很多教程,也学习到了很多,但是和自己的环境毕竟还是有许多差别,在这里记录一下自己的编译学习过程,以及遇到的问题。
使用的是友善tiny6410开发板。
1.在官网下载源代码,我使用的是qt-everywhere-opensource-src-4.8.5.tar.gz。
2.fedora下linux X11平台
tar zxvf qt-everywhere-opensource-src-4.8.5.
tar
.gz
cdqt-everywhere-opensource-src-4.8.5
./configure
gmake && gmake install
完成后安装在
/usr/local/Trolltech/Qt-4
.8.5
/目录下。
注意:这里使用的是默认的configure,笔记本i3处理器,4G内存,SSD硬盘,vmware虚拟机,编译大概4个半小时。
3.fedora下嵌入式X86平台
通过视窗系统QWS,不需依赖X Window System,写入Linux帧缓冲。减少存储器消耗,并提供虚拟帧缓冲QVFB,方便在桌面系统上进行嵌入式测试。
tar
zxvf qt-everywhere-opensource-src-4.8.5.
tar
.gz
cdqt-everywhere-opensource-src-4.8.5
.
/configure
-embedded x86 -qvfb -no-webkit
gmake && gmake install
完成后安装在
/usr/local/Trolltech/Qt-4
.8.5
/目录下。测试qvfb:
cd/usr/local/Trolltech/Qt-4
.8.5
/bin
./qvfb -width 800 -height 600 &
//
打开qvfb用来显示程序
4.嵌入式ARM平台
先根据手册建立交叉编译环境,友善使用的是arm-linux-gcc-4.5.1,按照手册安装到fedora系统中,并修改/root/.bashrc添加系统环境变量。
tar zxvf qt-everywhere-opensource-src-4.8.5.
tar
.gz
cdqt-everywhere-opensource-src-4.8.5
./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -webkit -qt-gfx-transformed -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon
gmake && gmake install
完成后安装在
/usr/local/Trolltech/QtEmbedded-4
.8.5-arm
/目录下。
5.移植到ARM平台
使用脚本:
#!/bin/bash
TARGET_DIR=$PWD
cp font/DroidSansFallback.ttf /usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib/fonts
cd /
list=`cat << EOF
usr/local/Trolltech/QtEmbedded-4.8.5-arm/examples/widgets/wiggly/wiggly
usr/local/Trolltech/QtEmbedded-4.8.5-arm/examples/painting/concentriccircles/concentriccircles
usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib
usr/local/Trolltech/QtEmbedded-4.8.5-arm/plugins
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/deform/deform
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/deform/pathdeform.html
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/spheres.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/embeddedsvgviewer
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/shapes.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/files/default.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/files/v-slider-handle.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/desktopservices_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/deform.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/flightinfo_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/raycasting.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/digiflip.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/styledemo.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/styledemo_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/mediaplayer.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/weatherinfo.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/concentriccircles.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/context2d_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/wiggly.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/lightmaps.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/elasticnodes.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/wiggly_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/ftp_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/anomaly_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/flickable.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/softkeys_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/fridgemagnets_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/saxbookmarks_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/pathstroke.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_4.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_1.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_2.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_6.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_3.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_5.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/fluidlauncher
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/config.xml
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/styledemo/styledemo
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/pathstroke/pathstroke.html
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/pathstroke/pathstroke
EOF
`
tar cfvz $TARGET_DIR/target-qte-4.8.5-to-devboard.tgz $list
tar cfvz $TARGET_DIR/target-qte-4.8.5-to-hostpc.tgz usr/local/Trolltech/QtEmbedded-4.8.5-arm
将产生
target-qte-4.8.5-to-devboard.tgz
<pre name="code" class="javascript" style="font-size: 13px; line-height: 13.75px;">target-qte-4.8.5-to-hostpc.tgz
两个文件,复制target-qte-4.8.5-to-devboard.tgz文件到开发板,解压安装
tar xvzf <span style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">target-qte-4.8.5-to-devboard.tgz</span>
6.安装qtcreator IDE
在官网下载
qt-creator-linux-x86-opensource-2.4.1.bin