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

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

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

注意:搭建环境之前,先要安装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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值