QT相关问题总结

1、安装ubuntu下所使用QT

可以使用命令直接安装:

sudoapt-get install qt4-dev-tools qt4-designer qt4-doc qt4-qtconfigqt4-demos qt4-qmake libqt4-sql-mysql qdevelop


上面列出的是qt配置环境所必须的软件包
qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。
qt4-doc 是帮助文档,包含了Qt中各个类库的详细说明以及丰富的例子程序,可以使用Qt Assistant 工具来打开阅读。
qt4-qtconfig 是配置Qt环境的一个对话框,一般默认就行了,很少有必要去更改。
qt4-demos 包含很多可以运行起来的可执行文件以及源代码。
qt4-designer是用来设计GUI界面的设计器

卸载的时候使用apt-get remove XXXX 一一卸载即可


2、安装arm版qt

下载qt-everywhere-opensource-src-4.7.1.tar.gz(或者其他版本)

解压后执行如下命令

cd qt-everywhere-opensource-src-4.7.0
echo yes | ./configure -opensource -embedded armv7 -xplatform qws/linux-arm-g++  -no-    webkit -qt-libtiff -qt-libmng  -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neo    n

make && make install

配置选项可以自己修改


3、使用arm版本的QT

在上一步中安装完成ARM版本QT,默认安装目录一般为/usr/local/Trolltech/QtEmbedded-4.7.0-arm

为了使用此编译器,将其bin目录添加至环境变量,但是为了防止多个版本的qmake快捷方式冲突,所以在这里最好将bin/下的qmake改名

这个细节可以参考我的另一篇博文“Linux-Ubuntu 杂散问题总结”中的第二点

我将其改名为qmake-arm

另外还可以按自己的需求在/etc/bash.bashrc中添加一些其他的信息:

export ARMQTDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
export PATH=/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin:$PATH
export MANPATH=$ARMQTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$ARMQTDIR/lib:$LD_LIBRARY_PATH
export QMAKESPEC=/usr/local/Trolltech/QtEmbedded-4.7.0-arm/mkspecs/qws/linux-arm-g++


这些工作完成之后,就可以编译程序了

来到存放工程文件的目录下,执行如下命令:

# qmake-arm -project     (生成工程文件)
# qmake-arm     (生成Makefile)
# make     (编译)

之后就能生成一个可执行文件(在arm中运行的可执行文件)了,将此文件拷贝至arm开发板中运行即可

但是此时arm中并没有qt的库,所以要将ubuntu下qte路径下的库拷贝至ARM的lib下


4、ARM下带有opencv的QT

把这个搞定何其容易,据我所知很多人搞了几个星期不止...

我曾尝试过在qtcreator中进行编译,opencv库的路径添加至.pro文件,但是各路错误令人窒息,最终放弃还是选择命令行的方式

有了上一点编译程序的基础,我们编译opencv的程序也会很快~

重要的一点是修改qmake.conf文件,此文件位于../mkspecs/qws/linux-arm-g++/qmake.conf

将opencv的路径添加进去:


注意这里的opencv是arm版本的opencv,至于如何编译可以参考我的另一篇博文:opencv在arm开发板上的移植

这里的路径是我的opencv安装路径(当然这不是一个好路径,因为对公共路径/usr/local进行了污染)

之后的工作和第三点相同,只是编译好的文件她也只承认这个路径下的opencv库

所以在ARM开发板中,无论你之前将她放在什么位置,你要在这里重新放一份

但是在可执行文件的运行过程中,一般会碰到各种缺少库的错误,下面一点将会介绍各种库的交叉编译


5、一些qt可能要使用到的库的交叉编译:

编译这些库基本都使用了./config配置,对于她的介绍大家可以自行百歌,我想了想就不写这个科普文了

这些库编译成功后当然都要拷贝到arm下


(1)tslib

触摸屏库的移植
1).解压源码
# tar -zxvf tslib-1.4.tar.gz
# cd tslib-1.4
 
2).执行autogen.sh脚本生成configure文件
# ./autogen.sh
 
3).生成Makefile文件
# echo"ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
# ./configure --host=arm-linux --prefix=/home/william/arm-linux-lib/tslib --cache-file=arm-linux.cache
说明:
l  --cache-file 定义一个临时的缓冲文件,当重新进行配置时可利用此文件加快配置速度,默认情况下是不用这个文件的。
l  如果不添加echo"ac_cv_func_malloc_0 _nonnull=yes">arm-linux.cache会报错:
ts_test.o: In function `main':
ts_test.c:(.text+0x1d8): undefinedreference to `rpl_malloc'
fbutils.o: In function`open_framebuffer':
fbutils.c:(.text+0xa20): undefinedreference to `rpl_malloc'
 
4).编译安装
#make
#make install
 
5).修改/tslib/etc/ts.conf文件
module_rawinput
modulepthres pmin=1
modulevariance delta=30
moduledejitter delta=100
modulelinear
修改完成后将整个安装文件拷贝到开发板下的/usr目录下
 
6).修改开发板系统/etc/profile中添加如下代码:
exportTSLIB_ROOT=/usr/tslib_install
exportTSLIB_TSDEVICE=/dev/event0
exportTSLIB_CALIBFILE=/etc/pointercal
exportTSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
exportTSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
exportTSLIB_CONSOLEDEVICE=none
exportTSLIB_FBDEVICE=/dev/fb0
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
 
7).在开发板上测试触摸屏校正程序
./home/tslib/bin/ts_calibrate


(2) pnglib

#./configure --host=arm-linux --prefix=/home/wiliam/arm-linux-lib/png --enable-shared --enable-static
#make
#make install






相关问题:

(1)在qtcreator中使用qte的时候如果出现一堆如下错误:

QT_INSTALL/include/QtCore/qatomic_arm.h:131: Error: no such instruction: `swpb %al,%r13b,[%rbx]'

则是armv7版的指令集才能识别swpb汇编指令

在编译的时候重新改成./configure -opensource -embedded armv7即可


(2)No qmlviewer installed 问题的解决 

在qtcreator中添加 ARM 平台编译环境的设置后可能出现“No qmlviewer installed”告警信息
这是因为没有安装 qmlviewer 或 qmlviewer 安装后的可执行文件没有处于 qt-4.7.1/bin 目录下

针对后一种情况只需从 qmlviewer 的安装目录(一般在/usr/bin 目 录下)里将 qmlviewer, qmlpuppet, qmlprofiler, 和 qmlplugindump 复制到 qt-4.7.1/bin 目录下。

而针对未安装 qmlviewer 的情况,安装方法如下:在 ubuntu12.04 中打开 linux 终端,输入以下命令: # apt-get install qt4-qmlviewer 

注意: qmlviewer 的默认安装目录为/usr/bin 安装 qmlviewer 后重新添加 ARM 平台编译环境的设置, “No qmlviewer installed”告 警信息消失

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值