概述:
本文针对GEC2410开发板,搭建PC机端的QTE虚拟开发环境.
准备以下源码包和文件(可以从网上下载,或在GEC2410光碟的Linux源码包/gui目录下找到)
tmake-1.11.tar.gz
qt-embedded-2.3.7.tar.gz
qt-x11-2.3.2.tar.gz
qconfig-local.h
假设源码包放在/home/build_qte/目录下
cd /home/build_qte/
1 tmake 配置
tar zxvf tmake-1.11.tar.gz ; 解压tmake源码包
cd tmake-1.11 ; 进入解压目录
vi env.sh ; 建立shell文件,在文件中添加如下内容
export TMAKEDIR=$PWD
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export PATH=$TMAKEDIR/bin:$PATH
保存退出.
source env.sh ; 添加环境变量
cd .. ; 退出tmake-1.11目录
2 配置编译qt-embedded源码包
tar zxvf qt-embedded-2.3.7.tar.gz
mv qt-2.3.7 qt-2.3.7-x86
cd qt-2.3.7-x86
cp /home/build_qte/qconfig-local.h src/tools/ ; qconfig-local.h文件在开发板提供的光碟上可以找到
vi env.sh ;添加如下内容
export QTDIR=$PWD
export QTEDIR=$QTDIR
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$QTDIR/bin:$PATH
;保存退出.
source env.sh ; 添加环境变量
./configure -qconfig local -gif -thread -qvfb -depths 4,8,16,32 ;配置源码包
make sub-src ;编译
cd ..
3 配置编译qt-x11源码包
tar zxvf qt-x11-2.3.2.tar.gz
cd qt-2.3.2
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -no-xft -no-opengl
make
make -C tools/qvfb
cp tools/qvfb/qvfb $QTEDIR/bin/
cp bin/uic $QTEDIR/bin
cd ..
; 退出终端!
4 实例
; 建立qte开发的工作目录
mkdir /home/qte
cd /home/qte
; 建立shell文件,设置环境变量
vi set-qte-x86.sh
; 在文件中添加如下
#!/bin/bash
export QTDIR=/home/build_qte/qt-2.3.7-x86 ;编译qt-2.3.7的目录
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export TMAKEDIR=/home/build_qte/tmake-1.11 ;tmake-1.11的目录
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export PATH=$QTDIR/bin:$TMAKEDIR/bin:$PATH
echo $PATH
; 保存退出
; 先不要执行source set-qte-x86.sh (不要设置环境变量)
; 建立工程目录
mkdir hello
cd hello
; 用designer生成工程文件(hello.pro), 窗体文件(hello.ui), 和main.cpp文件.
cd ..
source set-qte-x86.sh ;设置环境变量
cd hello
; 生成源文件
uic hello.ui -o hello.h
uic hello.ui -i hello.h -o hello.cpp
删除hello.pro, hello.ui文件, 省下hello.h, hello.cpp, main.cpp三个文件
progen -o hello.pro ; 生成工程文件
tmake hello.pro -o Makefile ; 生成Makefile文件
make ;开始编译
; 在PC机的模拟执行
qvfb &
; 新建终端, 在新建的终端中执行如下
cd /home/qte
source set-qte-x86.sh
cd hello
./hello -qws ; 执行刚才编译的hello.