基于Linux 安装与建立 Qt 桌面开发运行环境
创始人
2024-08-02 12:20:32
0

基于Linux 安装与建立 Qt 桌面开发运行环境是本文呢文要介绍的内容,本人认为虚拟机是***的朋友,先来看本文介绍。

1.下载Qt

在TrollTech网站http://www.trolltech.com/developer/ 上搜索下载Qt的相关包,包括

  1. qt-embedded-free-3.3.4.tar.gz  
  2. qt-x11-opensource-src-4.2.3.tar.gz 

tmake-1.8.tar.gz    #可以不要,因为有现在这些高版本的qt-embedded,qt-x11,qtopia里就有qmake

这些都是***的Qt版本,编译过程好像跟查资料时的老版本的步骤有很大的不同,比如新版本使用qmake而不像以前使用tmake,还有configure脚本文件配置时的参数有许多变化,编译时没有什么资料可以查,除了trolltech本身的一些文档,剩下的只好自己摸索了。

2.安装与编译

假设我把这些包都放在 /root/qt 下

解压qt-x11-opensource-src-4.2.3.tar.gz

  1. tar vxzf qt-x11-opensource-src-4.2.3.tar.gz  
  2. export QT2DIR=$PWD/qt-x11-opensource-src-4.2.3     #设置一下环境变量 

解压qt-embedded-free-3.3.4.tar.gz

  1. tar vxzf qt-embedded-free-3.3.4.tar.gz  
  2. export QTEDIR=$PWD/qt-embedded-free-3.3.4 

解压tmake-1.8.tar.gz           #后来发觉一开始 tmake是没用的因为 2.0以上大版本有了qmake,不过开发的时候可以选择用的,比较方便。

  1. export TMAKEDIR=$PWD/tmake-1.8 

然后就是编译了。

开始发现老是要设置环境变量,所以我专门各编辑一个脚本文件对 qt-x11-opensource-src-4.2.3和 qt-embedded-free-3.3.4进行编译,分别放在各自的目录中。
编译 qt-x11-opensource-src-4.2.3 时脚本为:

  1. #!/bin/sh  
  2. export QT2DIR=/root/qt/qt-x11-opensource-src-4.2.3  
  3. export QTEDIR=/root/qt/qt-embedded-free-3.3.4  
  4. export QTDIR=$QT2DIR  
  5. export PATH=$QTDIR/bin:$PATH  
  6. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  7. ./configure  -prefix-install -opengl      

其实这里应该还可以设置更多多的选项,比如去掉一些支持,

可以缩短编译时间,因为这个工程编译完要用几个小时啊!

因为我需要的opengl的支持,所以选择了这个选项。

其他的可以通过./configure  --help 命令研究一下。

  1. make 

然后就可以干其他的事情了,编译时超痛苦,那个多文件阿,用了一上午才搞定,所以这时你可以尽情去玩一下了。

编译好之后还要去qt-x11-opensource-src-4.2.3/tools/qvfb编译 qvfb工具(这个工具编译qt-embedded有用),make一下就可以了。

然后就编译 qt-embedded-free-3.3.4,下面是的脚本:

  1. #!/bin/sh  
  2. export QT2DIR=/root/qt-x11-opensource-src-4.2.3  
  3. export QTEDIR=/root/qt-embedded-free-3.3.4  
  4. export QTDIR=$QTEDIR  
  5. export PATH=$QTDIR/bin:$PATH  
  6. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  7. cp $QT2DIR/bin/uic $QTEDIR/bin/                                    #下面这两个工具编译时要使用  
  8. cp $QT2DIR/bin/qvfb $QTEDIR/bin/    
  9. ./configure   -qconfig qpe -qvfb -depths 4,8,16,32  
  10. make 

又是好长一段编译时间,大概一个小时左右。

3.在virtual framebuffer里运行程序

编译好后就可以尝试编译 运行examples/ 的例程了,但是编译这些例子的时候有个很奇怪的错误:

  1. Some of the required modules (large-config) are not available 

网上查了一下,幸亏查到了仅有一个提问,而且有人决绝了, 说要修改每个例子下的.pro文件,把 requires = large-config 这一行注释掉,但这一行原来真正有什么用,去掉后会有什么影响,我不得而知,不过编译后还是可以在virtual framebuffer上运行的。

编译好例子后就可以运行了,一开始运行例子的时候总会有一个错误:/usr/lib/qt-3.3/lib/fonts/fontdir  没找到什么的,我就奇怪了,我的qt并没有安装在这个目录的(按照上面的脚本文件),查看一下环境变量,居然有一个QTDIR非临时变量(在多个shell中都会显示的,应该在配置文件写死的)指向了这个目录,再进这个目录查看一下文件的日期,都是很久之前的,绝不是刚刚编译的,才知道这个是操作系统自带的qt。于是每次运行时qt程序时需要用export把QTDIR改掉,改成 $QTEDIR  同时也把 $QTEDIR/bin 添加到 PATH 中,因为 要用这个目录下的qvfb程序是 qt程序运行在virtual framebuffer上,运行时执行:

  1. qvfb -width 640 -height 480 &  
  2. sleep 10                   #不知道这个有什么用?不过好像可以使qvfb在后台运行  
  3. ./launcher -qws   #launcher是examples的一个例子 

如果成功的话qt程序就会运行在qvfb的界面里。

4.编写自己的qt程序

下面可以自己编写自己的程序了。

先设置一下环境变量,我这个系统比较郁闷,有老的qt,所以好把QTDIR设置成新编译都目录,覆盖原来的,这个很重要,否则无法通过编译,这个弄了我一个晚上才发现。

首先修改环境变量

  1. export QTDIR=/root/qt-embedded-free-3.3.4                  #把老的qt覆盖  
  2. export PATH=/root/qt-embedded-free-3.3.4/bin:$PATH   #要使用qmake程序 

我编写了以下代码,hello.cpp,并把这个文件保存在名为hello的目录下

  1. #include  
  2. #include  
  3. int main(int argc, char **argv)  
  4. {  
  5.          QApplication app (argc, argv);  
  6.          QLabel *hello = new QLabel("

    HelloQt/Embedded!  

    ", 0);  
  7.          app.setMainWidget(hello);  
  8.          hello->show();  
  9.          return app.exec();  

进入hello目录,生成.pro文件

  1. qmake  -project 

也可以用tmake-1.8/bin下的progen工具生成.pro文件,tmake其中的一个使用就是这里了,不过要把tmake-1.8/bin的完整路径加入到环境变量PATH中

修改hello.pro文件为

  1. TEMPLATE        = app 
  2. TARGET          = hello 
  3. CONFIG          = qt warn_on release  
  4. DEPENDPATH      = /root/qt-embedded-free-3.3.4/include  
  5. HEADERS                =   
  6. SOURCES         = hello.cpp  
  7. INTERFACES      = 

生成Makefile

  1. qmake -o Makefile hello.pro  
  2. 或者用  
  3. tmake -o Makefile hello.pro 

然后

  1. make 

就可以了

  1. qvfb -width 320 -height 240 &  
  2. sleep 10  
  3. ./hello -qws 

大功告成,你可以欣赏自己的Qt程序了。

小结:关于基于Linux 安装与建立 Qt 桌面开发运行环境的内容介绍完了希望本文对你会有帮助!

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...