第一步:
安装Linux版本的qt
1.下载qt4.8.0版本
下载地址:ftp://ftp.qt.nokia.com/qt/source/
2.解压qt-everywhere-opensource-src-4.8.0.tar.gz
tar -zxvf qt-everywhere-opensource-src-4.8.0.tar.gz
3.进入解压目录文件
./configure -prefix /usr/linux-qt4.8.0 -shared -fast -nomake demos -nomake examples -nomake docs
(这个配置可以根据自己的需要进行配置,./configure --help)
4.make
5.make install
安装完成, 完成后需要环境变量的配置
设置文件系统中的/etc/profile下的内容如下:
export QTEDIR=/usr/linux-qt4.8.0
export PATH=$QTEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTEDIR/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTEDIR/plugins
export LD_LIBRARY_PATH=$QTEDIR/plugins/imageformats:$LD_LIBRARY_PATH
第二部
1 用已安装好的linux版本的qt 编译 qconfig工具(这个工具可以对qt库进行裁剪配置)因为在安装qt的时候可能没有装这个工具。所以要自己安装
cd QTEDIR/tools/qconfig
qmake -project
qmake
make
2. 安装好qconfig工具后就可以对qt库进行裁剪了
编译成功后运行./qconfig,初始要打开qfeatures.txt. Qconfig读取该文件生成一个树状图,该图很清楚的显示出feature之间的依赖关系。如下图所示,如果你去掉了LINEEDIT这个feature,用到该控件的combobox也就不能继续使用了。有了这个工具裁剪Qt变得简洁直观,方便了很多。
选定了你要去掉的feature后点击菜单File->Save As..会弹出保存文件的页面,文件名字应该定义成qconfig-xxx.h的形式,这样你在configure的时候就可以传入相应的qconfig参数了。你还可以通过选择File->Open打开现有的qconfig-xxx.h文件,通过修改已经有的文件更快的编辑配置。
把保存的文件xxx.h复制到 ../src/corelib/global/ 的目录下。
第三步 安装ARM版本的 qt (我安装的是静态)
1.从新解压qt-everywhere-opensource-src-4.8.0.tar.gz
tar -zxvf qt-everywhere-opensource-src-4.8.0.tar.gz
2.进入解压目录文件
./configure -prefix /usr/static-qte4.8.0 -release -static -fast -xplatform qws/linux-arm-g++ -embedded arm -qconfig xxx.h -no-largefile -no-accessibility -no-stl -no-qt3support -no-xmlpatterns -no-svg -no-webkit -no-multimedia -no-phonon -phonon-backend -no-scripttools -no-mmx -no-3dnow -no-sse -no-sse2 -no-openssl -no-nis -no-cups -no-iconv -no-pch -no-dbus -no-glib -nomake demos -nomake examples -nomake docs -qt-gfx-linuxfb -no-webkit -qt-mouse-pc -little-endian
(这个配置可以根据自己的需要进行配置,./configure --help)
配置的时候一定要加这句 -qconfig xxx.h 这个配置就是对库裁剪
4.make
这过程会遇到错误,因为有些库不能被裁剪。有些库有依赖关系。所以裁剪的时候要细心。 不然很容易出错。
如果出错了就只能从新 配置xxx.h文件 然后从新 进行第2步, 这过程需要花费很多时间。因为qt每次编译都很耗时
5.make install
export HOME=/root
export QTDIR=/opt/qt-4.5
export QPEDIR=/opt/qt-4.5
export QWS_DISPLAY="LinuxFB:/dev/fb0"
export QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export QWS_KEYBOARD="TTY:/dev/tty1"
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export QWS_MOUSE_PROTO="TSLIB:/dev/event0 Intellimouse:/dev/mouse0"
export QT_PLUGIN_PATH=$QTDIR/plugins/
export QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export PATH=$QPEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH
然后source一下,让其生效。