• Linux下安装QT


    本文介绍的是Linux 下编译并安装配置 Qt,最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发。考虑到程序的跨平台可移植性,最终选择使用 Qt 开发。相对来说,国内关于 Qt 相关文档并不算很多。作者将 Linux 下编译并安装配置 Qt 全过程总结了一下,只希望可以方便更多的朋友!

    1、获得源代码

    src 官网下载地址:ftp://ftp.qt.nokia.com/qt/source/

    2009 年 10 月 1 日发布的 qt-x11-opensource-src-4.5.3.tar.gz,大小 122 Mb。

    2、解压缩

    1. tar xvfz qt-x11-opensource-src-4.5.3.tar.gz 

    3、生成 makefile 文件

    1. ./configure 

    这个时候他会问你:“Which edition of Qt do you want to use?”

    然后给你两个类型供选择:

    1. Type ''c'' if you want to use the Commercial Edition.  
    2. Type ''o'' if you want to use the Open Source Edition. 

    第一个是商业版,第二个是自由版。

    选择 ''o''(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。

    这时候,出现许可界面。

    选择  ''yes'' 接受许可协议。

    开始生成 makefile 文件。这个大约需要 5 -10 分钟的时间。

    4、Qt 编译

    1. gmake 

    这个过程时间比较长,需要两个小时左右。

    5、Qt 安装

    运行 gmake install

    默认安装至 /usr/local/Trolltech/Qt-4.5.3

    大约 5 - 10 分钟。正常结束,安装完毕。

    运行 /usr/local/Trolltech/Qt-4.5.3/bin/designer ,看见 qt 启动,也就是说 qt 安装好了。

    6、设置环境变量

    一、先修改用户环境变量

    1. vi /home/defonds/.bashrc 

    在其最后添加以下信息

    1. export QTDIR=/usr/local/Trolltech/Qt-4.5.3  
    2. export PATH=$QTDIR/bin:$PATH  
    3. export MANPATH=$QTDIR/man:$MANPATH  
    4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 

    二、再修改所有用户环境变量

    1. vi /etc/profile 

    在其最后添加以下信息

    1. export QTDIR=/usr/local/Trolltech/Qt-4.5.3  
    2. export PATH=$QTDIR/bin:$PATH  
    3. export MANPATH=$QTDIR/man:$MANPATH  
    4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 

    三、测试一下

    重新开一个终端,输入命令:

    1. qmake -v 

    输出结果:

    1. QMake version 2.01a  
    2.  Using Qt version 4.5.3 in /usr/local/Trolltech/Qt-4.5.3/lib 

    输入命令:

    1. which qmake 

    输出结果:

    1. /usr/local/Trolltech/Qt-4.5.3/bin/qmake 

    证明 Qt 环境变量已经被配置成功。

    编者按 :

    Linux 启动时,先读取用户环境变量,即 /home/defonds/.bashrc 的设置。次读取所有用户环境变量,即 /etc/profile 中的配置。

    开始 Qt

    写个简单的 Qt 程序使用安装的 Qt 编译来测试一下它的工作效果

    新建一个文件名为 hello.cpp,其内容如下:

    1. view plaincopy to clipboardprint?#include <QApplication>     
    2. #include <QLabel>     
    3. int main(int argc,char *argv[])    
    4. {    
    5.     QApplication app(argc,argv);    
    6.     QLabel *label = new QLabel("Hello Qt!");    
    7.     label->show();    
    8.     return app.exec();    
    9. }    
    10. #include <QApplication> 
    11. #include <QLabel> 
    12. int main(int argc,char *argv[])  
    13. {  
    14.  QApplication app(argc,argv);  
    15.  QLabel *label = new QLabel("Hello Qt!");  
    16.  label->show();  
    17.  return app.exec();  
    18. }  

    保存 hello.cpp,编译过程如下:

    在 hello.cpp 所在目录下,运行命令

    1. qmake -project 

    hello.cpp 同目录下有 hello.pro 文件被生成,它是与平台无关的工程文件。

    在 hello.cpp 所在目录下,运行命令

    1. qmake hello.pro 

    同目录下有 Makefile 文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmake在win32,vc6环境)就可以完成编译)。在 hello.cpp 所在目录下,运行命令

    1. make 

    同目录下有 hello,hello.o 两个文件被编译生成。其中 hello 就是在当前 Linux 系统下使用 Qt编译生成的可执行文件了。双击运行 hello,“Hello Qt!“ 文本框弹出,OK!做到这一步,证明Qt 已经完全可以在你的电脑上运作了。还等什么呢,开始你精彩而又愉快的 Qt 开发之旅吧!

    安装QT的时候,在./configure这一步,出现了错误
    Basic XLib functionality test failed!
    You might need to modify the include and library search paths by editing
    QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /usr/local/qt/mkspecs/linux-g++.
    这要怎么解决啊?
    1.如果在./configure阶段,出现了以下错误 
    Basic XLib functionality test failed!
    You might need to modify the include and library search paths by editing
    QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11
    那是因为没装有libxtst-dev,使用命令apt-get install libxtst-dev安装
    2.如果在make阶段,出现一下错误
    /usr/bin/ld: cannot find -lXrender
    collect2: ld returned 1 exit status
    make[1]: *** [../../../../lib/libQtWebKit.so.4.7.3] 错误 1
    make[1]: Leaving directory `/home/debian/桌面/qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore'
    make: *** [sub-webkit-make_default-ordered] 错误 2
    那是因为没有装libxrender-dev
    3.在qt create中,尝试编译测试,如果找不到qmake,则在工具-选项-QT4中手动设置qmake的位置。qmake的位置默认在/usr/local/Trolltech/Qt-4.7.3/bin/qmake。

    小结:关于Linux 下编译并安装配置 Qt (完整版)的内容介绍完了,希望本文对你有所帮助!

  • 相关阅读:
    牛客练习赛64 C 序列卷积之和 (推式子 数学)
    HDU 汉诺塔系列
    牛客挑战赛40 A-小V和方程 (思维、数学、整数拆分、dp)
    HDU 2048 2049 (错位排列)
    组合数奇偶性判断
    bzoj 1249: SGU277 HERO
    CF70D Professor's task
    P3829 [SHOI2012]信用卡凸包
    CF316E3 Summer Homework
    P5284 [十二省联考2019]字符串问题
  • 原文地址:https://www.cnblogs.com/zhaoshuireshui/p/3781089.html
Copyright © 2020-2023  润新知