此次编辑涉及到 QTE 和X11两个 所以最好是在便以前先创建2个目录可以命名为:qt-embedded和qt-x11 //gz 虚拟机的空间一定要充足 目前我的是22G!!
1.编译以及安装Qt Embedded
假设所有的工作都在~执行。qt-everywhere-opensource-src-4.6.3.tar.gz也在~下面。
$ tar -zxvf qt-everywhere-opensource-src-4.6.3.tar.gz
$ cd qt-everywhere-opensource-src-4.6.3
错误及解决方法:
1./JavaScriptCore/wtf/Platform.h:338:6: #error "Not supported ARM architecture"
make[1]: *** [obj/release/pcre_compile.o] Error 1
make[1]: Leaving directory `/usr/local/qte4.6-arm/src/3rdparty/webkit/WebCore'
make: *** [sub-webkit-make_default-ordered] Error 2
解决方法 在执行configure的时候添加-D__ARM_ARCH_5TEJ__ (注:长下划线为2个短的!)
2.{standard input}:781: Error: register or shift expression expected -- `orr r3,r2,lsl#16'
{standard input}:792: Error: register or shift expression expected -- `orr r2,r3,lsl#16'
{standard input}:7752: Error: register or shift expression expected -- `orr r3,r0,lsl#16'
{standard input}:7765: Error: register or shift expression expected -- `orr r1,r0,lsl#16'
解决方法为:
把~/qt-everywhere-opensource-src-4.6.0/src/3rdparty/freetype/include/freetype/config/ftconfig.h 这个文件的第330行改一下
原来是:
"orr %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
改成:
"orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
)
在执行./configure前需要先配置环境变量如下:
export PATH=/usr/local/arm/4.4.1/bin:$PATH
export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi
export TB_CC_PREFIX=arm-linux-
export TOOLCHAIN=/usr/local/arm/4.4.1
$ ./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -qt-libtiff -qt-libmng -qt-mouse-tslib -exceptions -declarative -script -xmlpatterns -qt-libpng -qt-libjpeg -qt-sql-sqllite -no-opengl -nomake examples -nomake demos -nomake tools -I /usr/local/tslib/include -L /usr/local/tslib/lib
要是支持QML的话 加上“-exceptions -declarative -script -xmlpatterns” //gz
-I和-L是指定tslib的头文件、库文件的路径//gz
# 用'make confclean 清除configure
# 提示:可以使用.configure -embedded -help获取更多的帮助
# 漫长的等待......
# 终于可以看到gmake的提示了
$ gmake
# 这里会提示你安装的目录,也就是默认的/usr/local/Trolltech/QtEmbedded-4.6.3-arm
# 也是漫长的等待......
$ su -c 'gmake install'
# --------------------------------------------------------------------------------
# 到这里,Qt Embedded成功安装。
////////////////////////////////////////WHQ////////////////////////////
1. 首先安装交叉编译链
2. 设置环境变量 export PATH=$PWD:$PATH 然后arm-linux-gcc -v查看版本
3. export PATH=/opt/6410/usr/local/arm/4.3.2/bin:$PATH
4. 解压qt-everywhere-opensource-src-4.7.1.tar.gz
5 ./configure -fast -prefix /opt/6410/qt-embedded/qt-everywhere-opensource-src-4.7.1/install_arm -xplatform qws/linux-arm-g++ -no-largefile -no-webkit -embedded arm -qt-zlib -qt-libpng -no-libjpeg -no-libmng -no-openssl -no-nis -no-dbus -no-cups -no-phonon -no-svg -no-nas-sound -no-libtiff
6 make
7.make install
配置环境变量 export PATH=/opt/6410/usr/local/arm/4.3.2/bin:$PATH
export PATH=/opt/6410/qt-embedded/qt-everywhere-opensource-src-4.7.1/install/bin:$PATH
///////////////////////////////WHQ/////////////////////////////////////
2.编译以及安装Qt X11
$ tar -zxvf qt-everywhere-opensource-src-4.6.3.tar.gz
$ cd qt-everywhere-opensource-src-4.6.3
$ ./configure -qt-libpng -qt-libjpeg -qt-sql-sqllite -fast(看看-help应该是fast)//gz
$ 漫长的等待......
如果出现:You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /opt/qtx11/qt-everywhere-opensource-src-4.7.1/qt-everywhere-opensource-src-4.7.1/mkspecs/linux-g++. 需要安装libX11的库文件依次安装
libX11-dev libXext-dev libXtst-dev
# 提示:如果要重新配置,请运行gmake confclean,然后再./configure
$ gmake
出现:“cannot find -lXrender” 需要安装 sudo apt-get install libxrender-dev 库文件。
$ su -c 'gmake install' //可以省略不执行 gz
# --------------------------------------------------------------------------------
# 到这里,Qt X11基本的东西已经成功安装。
3.编译以及安装工具qvfb
$ cd qt-everywhere-opensource-src-4.6.3/tools/qvfb
$ gmake
# 然后可以看到qt-everywhere-opensource-src-4.6.3/bin/qvfb这个工具了。
$ su -c 'gmake install'
# 把qvfb工具安装到系统目录,即/usr/local/Trolltech/Qt-4.3.6/bin/qvfb
4.设置环境变量
$ vi ~/.bashrc
# 然后添加如下内容
export PATH=$PATH:/usr/local/Trolltech/QtEmbedded-4.6.3/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Trolltech/QtEmbedded-4.6.3/lib
不建议使用上面的方法设置环境变量。可以在命令行输入:
export PATH=/usr/local/Trolltech/QtEmbedded-4.6.3/bin:$PATH
点击回车。到你的qt-X11的bin目录下运行 ./qvfb & 弹出界面表示成功!