zoukankan      html  css  js  c++  java
  • 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 (完整版)的内容介绍完了,希望本文对你有所帮助!

  • 相关阅读:
    119. Pascal's Triangle II
    118. Pascal's Triangle
    112. Path Sum
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    108. Convert Sorted Array to Binary Search Tree
    88. Merge Sorted Array
    83. Remove Duplicates from Sorted List
    70. Climbing Stairs
    陌陌面试经历
  • 原文地址:https://www.cnblogs.com/zhaoshuireshui/p/3781089.html
Copyright © 2011-2022 走看看