首先说一下qt的基本知识
Qt Creator 与Qt 的联系
Qt库是一些封装好的代码,可以直接用,在写Qt程序的时候,要include需要的库。
而 Qt
Creator
就是一个开发环境(IDE),集成了一些开发工具,方便开发。
好了,开始在PC机上安装qt,当然首先得下载qt版本的源码文件。这里为了后面能够移植到arm开发板上,最好选择同一个版本的QT 4.8.5,其版本号很多,有for windows的,有for linux的,有for embedded Linux的,这里我们就选Qt 4.8.5 for linux 和Qt 4.8.5 for embedded Linux 。
QT的编译与安装
1、拷贝文件到自己想要的文件夹,解压:
tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz
2、进入解压后文件目录,执行配置
cd qt-everywhere-opensource-src-4.8.4/
./configure
此处也可以加上配置前缀
.
/configure
-prefix
/opt/qt-4
.8.4-x11
这样的话再后面编译过程中的文件会复制到
/opt/qt-4
.8.4-x11 这个目录下(目录不存在会自动创建),好处是源码便于管理,
关于这部分前缀配置可以我在config文件中找到这部分代码,可以参考,可以从这段代码中看出相应的配置以及没有配置的情况下默认安装目录,代码位于3594行,如下:
#------------------------------------------------------------------------------- # post process QT_INSTALL_* variables #------------------------------------------------------------------------------- #prefix if [ -z "$QT_INSTALL_PREFIX" ]; then if [ "$CFG_DEV" = "yes" ]; then QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default elif [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then if [ "$PLATFORM_QPA" = "yes" ]; then QT_INSTALL_PREFIX="/usr/local/Trolltech/QtLighthouse-${QT_VERSION}" else QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}" fi if [ "$PLATFORM" != "$XPLATFORM" ]; then QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}" fi elif [ -d "$EPOCROOT" ] && [ "$XPLATFORM_SYMBIAN" = "yes" ]; then if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then QT_INSTALL_PREFIX="$EPOCROOT/epoc32/" QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/" fi else QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
接下来就会生成makefile文件,配置过程十来分钟左右。配置完毕后执行make。
接下来可以吃个饭或者睡一觉,编译时间大概3个小时左右,比较漫长,耐心等待吧。
经过漫长的等待之后,执行sudo make install来安装,会安装到/usr/local/Trolltech/Qt-4.8.4目录下。安装时间比较短,大概需要几分钟左右,至此,安装完成。
随后就是环境配置了
qmake这个命令需要进行环境变量的配置才能找到的到,我看了下我的系统里已经包含了这个命令了,只是路径不一样。测试如下:
qmake -v 查看qmake的版本which qmake 查看qmake的安装路径
ls /usr/bin/qmake -ln 列出文件的详细信息并用数字的uid,gid 代替名称ls /etc/alternatives/qmake -ln在看一下属性就清楚了,可以看到这个地方又链接回去了,那么如果还使用qmake命令的话实际使用的是qmake-qt3,这样就会出现错误。接下来开始修改
rm /etc/alternatives/qmake 先移除ln -s /usr/local/Trolltech/Qt-4.8.4/bin/qmake /etc/alternatives/qmake 自己加链接qmake -v 再次查看qmake另外也可以通过修改环境变量来更新qmake接下来开始安装arm embedded 版本的qt 4.8.5 在这之前要安装tslibtslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。因此这里先编译安装tslib,这样在后面编译Qt的时候才能打包编译进去。
首先需要检查一下软件是否安装
sudo apt-get install automake sudo apt-get install autogen sudo apt-get install autoconf确定以上工具都已经安装后,解压安装即可
指定安装路径是/usr/local/tslib
将交叉编译的tslib安装到开发板上其实就是拷贝相关的文件并添加系统环境变量而已,所以相对操作较为简单,主要的就是需要找对目录就行。
按照上面的操作方法,交叉编译安装后的文件在/usr/local/tslib目录下,因此需要拷贝的文件如下
- /usr/local/tslib/lib文件下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下
- /usr/local/tslib/etc下的ts.conf拷贝到开发板的/etc下,在复制对应目录之前修改文件如下,也可以复制完成后修改。
下面是ts.conf文件的第一行与第二行
#