qt程序移植到arm开发板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、安装交叉编译工具链arm-linux-gcc
●复制arm-linux-gcc-4.4.3.tar.gz到/home/tools文件夹里
●解压命令tar xvzf arm-linux-gcc-4.4.3.tar.gz -C / (解压文件到根目
录下)注意以上命令必须要有-C而且是大写,后边有个空格也要注意。
注意查看解压的路径,将解压生成的文件移动到usr/local/arm目录下
●vi /etc/profile
●在文件的末尾加上PATH=/usr/local/arm/4.4.3/bin:$PATH
●输入命令:source /etc/profile(使刚修改的文件立即生效)
●查看arm-linux-gcc版本arm-linux-gcc -v
注意:此方法只对当前登录用户有效,更换用户后修改当前登录用户/etc/profile即可2、tslib编译与安装
tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。因此这里先编译安装tslib,这样在后面编译Qt的时候才能打包编译进去。
●需要检查一下软件是否安装
sudo apt-get install automake
sudo apt-get install autogen
sudo apt-get install autoconf
●确定以上工具都已经安装后,复制tslib-1.4.tar到/home/tools文件夹里
tar -zxvf tslib-1.4.tar.gz
cd tslib
./autogen.sh
./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/usr/local/tslib
make
make install
-prefix=/usr/local/tslib是指定安装路径,其实包括下文的安装配置,路径都可以不指定,默认就是安装到/usr/local/目录下
若出现错误:
configure.ac:25: error: possibly undefined macro: AC_DISABLE_STAT IC
If this token and others are legitimate, please use m4_pattern_al low.See the Autoconf documentation.
configure.ac:26: error: possibly undefined macro: AC_ENABLE_SHARE D
configure.ac:27: error: possibly undefined macro: AC_LIBTOOL_DLOP EN
configure.ac:28: error: possibly undefined macro: AC_PROG_LIBTOOL autoreconf: /usr/bin/autoconf failed with exit status: 1
解决方法:apt-get install libtool
3、Qt的交叉编译与安装
和PC平台下的编译类似,通过运行./configure进行配置生成makefile文件,然后编译安装,只是因为是针对嵌入式平台需要进行一些针对性配置,这里生成一个自动配置文件,可以通过修改文件来方便的更改配置。
tar -zxvf tar -zxvf tslib-1.4.tar.gz
cd qt-everywhere-opensource-src-4.8.6
新建文件autoconfig.sh
#!/bin/sh
./configure \
-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 \
-qt-mouse-tslib \
-I/usr/local/tslib/include \
-L/usr/local/tslib/lib
exit
文件中的内容就是需要配置的内容,同样如果需要指定安装路径可以在开始加入-prefix=/usr/local/(自己的路径)
运行./autoconfig.sh 生成makefile文件,生成成功最后会输出如下信息
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /usr/local/Trolltech/QtEmbedded-4.8.6-arm
To reconfigure, run 'make confclean' and 'configure'.