平台:ubnutu10.04
交叉编译器:arm-linux-gcc-3.4.1
第一步,准备相关文件
在Qt官方网站可以下载qt-everywhere-opensource-src-4.8.1.tar,解压为3份,可分别命名为qt-x11,qt-x86,
qt-armqt-x11版本可以产生Qt开发工具:
designer——Qt界面的设计工具
qvfb——Qt的虚拟缓冲帧,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应用程
uic——可以把Qt的界面描述文件转化为相应的 .h和.cpp文件
moc——把Qt的信号和插槽的定义翻译为标准的C++语法
qt-x86是基于x86架构的嵌入式版本:
如果我们想在PC机上进行嵌入式程序的仿真,就可以用qvfb来模拟嵌入式的显示器,但是qvfb只能执行x86架构的应用程序,所以需要生成关于x86的库和其他文件,如果不需要在PC机上仿真运行嵌入式程序,而是在板子上直接运行和调试,则可以不需要这个版本
qt-arm是基于ARM架构的嵌入式版本:
我最终的qt应用程序需要在arm架构上面运行,因此必然需要这方面的库,使用qt-arm库编译就可以得到在arm上能运行的可执行程序
第二步,Installing Qt for X11 Platforms
Step 1:Unpacking the Archive
tar xvf qt-everywhere-opensource-src-4.8.2.tar # unpack it
Step 2:Building the Library
cd /tmp/qt-everywhere-opensource-src-4.8.2
./configure
make
make install
Step 3:Set the Environment Variables
In .profile (if your shell is bash, ksh, zsh or sh), add the following lines:
PATH=/usr/local/Trolltech/Qt-4.8.2/bin:$PATH
export PATH
第三步,Installing Qt for Embedded Linux(x86)
进入x86目录
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# make
# make install
第四步,安装触摸屏校验工具
把tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:
#tar zxvf tslib-1.4.tar.gz
执行命令cd tslib,进入tslib当前目录,接着执行命令如下
#./autogen.sh
然后接着执行配置命令:
#./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
最后执行编译命令和安装命令如下:
make
make install
如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。
编译期间出现的错误:./autogen.sh: 4: autoreconf: not found
解决:sudo apt-get install autoconf automake libtool
第五步,Installing Qt for Embedded Linux(ARM)
进入arm目录
# ./configure \
-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs
必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.8.1-arm ”参数,不然安装后不在QtEmbedded-4.8.1-arm文件夹下,而是覆盖了QtEmbedded-4.8.1
如果放弃配置,则使用命令:# make confclean
编译:# make
安装:# make install
第六步,安装并测试qvfb
编译安装PC版中的 qvfb:
进入qt-pc/tools/qvfb/目录,执行如下操作:
#make
编译完毕,将qt-pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.8.1/bin目录。
测试qvfb:
为了方便使用qvfb模拟ARM的结果,在环境中添加qvfb的路径
输入命令: vim /.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容
export PATH=/usr/local/Trolltech/QtEmbedded-4.8.1/bin:$PATH
重启,测试是否加入成功
echo $PATH
看是否显示刚才添加的路径
测试
命令:#qvfb -width 800 -height 480 &
其中&表示后台运行。