QT学习之路(二)————Linux下搭建qt程序编译环境、开发板上搭建qt程序运行环境

来源:互联网 发布:淘宝快递模板怎么设置 编辑:程序博客网 时间:2024/06/05 00:47

为了搭建这个环境,我把我的虚拟机都重装了,最后终于成功!!!!!!

人都不不好了。。好了 话不多说,切入正题。。

注意:搭建环境之前,先要安装tslib库,安装方法详见我的博客:http://blog.csdn.net/huangan_xixi/article/details/49448929

否则会出现错误。。。

我用的QT库的版本是:qt-everywhere-opensource-src-4.6.4.tar.gz

第一步、

新建安装文件夹:/home/huangan/fl2440/3rdparty/qt_install

qt-everywhere-opensource-src-4.6.4.tar.gz在/home/huangan/fl2440/3rdparty目录下解压(这个随意在哪个目录)

解压后进入源文件,制作脚本文件

内容为:

#!/bin/sh./configure -prefix /home/huangan/fl2440/3rdparty/qt_install \-release \-shared \-fast \-no-largefile \-qt-sql-sqlite \-no-qt3support \-no-xmlpatterns \-no-mmx \-no-3dnow \-no-sse \-no-sse2 \-no-svg \-no-webkit \-qt-zlib \-qt-gif \-qt-libtiff \-qt-libpng \-qt-libmng \-qt-libjpeg \-qt-gfx-transformed \-qt-gfx-linuxfb \-make libs \-xplatform qws/linux-arm-g++ \-nomake tools \-nomake examples \-nomake docs \-nomake demo \-no-nis \-no-cups \-no-iconv \-no-dbus \-no-openssl \-embedded arm \-little-endian \-qt-freetype \-depths 16,18 \-no-glib \-qt-mouse-tslib \-no-javascript-jit \-no-script \-no-scripttools \

制作好脚本文件后,用source命令使能一下;

第二步、

修改源码:vim /home/huangan/fl2440/3rdparty/qt-everywhere-opensource-src-4.6.4/mkspecs/qws/linux-arm-g++/qmake.conf

include(../../common/g++.conf)  include(../../common/linux.conf)  include(../../common/qws.conf)  QMAKE_INCDIR = /home/lzj/fl2440/3rdparty/ts_install/include QMAKE_LIBDIR = /home/lzj/fl2440/3rdparty/ts_install/lib  # modifications to g++.conf  QMAKE_CC                = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc -lts  QMAKE_CXX               = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-g++ -lts  QMAKE_LINK              = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-g++ -lts  QMAKE_LINK_SHLIB        = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-g++ -lts  # modifications to linux.conf  QMAKE_AR                = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar cqs  QMAKE_OBJCOPY           = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-objcopy  QMAKE_STRIP             = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-strip  load(qt_config)  


上面主要是放你tslib库的路径和你交叉编译器的路径,全用绝对路径!


vim  /home/haungan/fl2440/3rdparty/qt-everywhere-opensource-src-4.6.4/src/gui/itemviews/qabstractitemview.cpp

将'Key_BackSpace' 更改为将'Key_Backspace'

改完之后执行先前制作的脚本文件./qtconfigure 

执行之后会有个选项,就选 ‘o’

执行完之后make && make install

执行完之后,先将你安装目录下bin文件里的qmake 放到虚拟机的/usr/local/bin目录下,并修改虚拟机的环境变量

vim .bash_profile  在末尾加入

export  QT=/home/huangan/fl2440/3rdparty/qt_install

export  QTLIB=$QT/lib

export QTBIN=$QT/bin


这样,你的Linux就可以编译从Windows下传来的qt程序啦

qmake -project

qmake

make

OK  ,假如说你的开发板上的环境也搭建好了,就可以直接把二进制文件下载到开发板上运行啦!!!!!!!!!!

运行格式:./filename -qws(PS:不要漏了这个参数,不然会出错的) 

如果想打印中文的话: ./a.out  -qws -fn unifont

开发板上搭建qt程序运行环境(前提是要把tslib库移植到开发板,移植方法在博客开头已给出地址)

很简单,将上面安装好的qt的lib库下载到开发板,lib目录下会有一个fonts,添加开发板上系统的环境变量 vim  /etc/porfile

添加

 export QWS_MOUSE_PROTO=TSLIB:/dev/event0

 export QTLIB=/mnt/qtlib  

 export QT_QWS_FONTDIR=/mnt/qtlib/fonts


添加完成后,记得用source 命令使能profile文件


如果说运行程序的时候出现/qttest: can't load library 'libQtGui.so.4' 这个错误,

就是程序没有找到你QT的库,解决办法:把QT库手动拷到系统的lib文件下,或者在系统的环

境变量中添加库的路径:export LD_LIBRARY_PATH=/lib:/usr/lib:/apps/qt/tslib/lib:/apps/qt/qtlib/:/apps/qt/qtlib/fonts

红色部分


若出现:QFontDatabase: Cannot find font directory /app/qt/qtlib/fonts - is Qt installed correctly?
Aborted  这个错误,  

就添加

export QT_QWS_FONTDIR=/mnt/qtlib/fonts

这个环境变量


详细错误见:http://blog.csdn.net/liuzijiang1123/article/details/48847521





0 0
原创粉丝点击