面对现实,超越自己
逆水行舟,不进则退
posts - 269,comments - 32,trackbacks - 0

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

     1、获得源代码 
        src 官网下载地址:ftp://ftp.qt.nokia.com/qt/source/

     2、解压缩 
          tar xvfz qt-x11-opensource-src-4.7.4.tar.gz

      建议解压到/use/local目录,并重命名为Qt-4.7.4

     3、生成 makefile 文件 
        ./configure
        这个时候他会问你:“Which edition of Qt do you want to use?”
        然后给你两个类型供选择:
        Type 'c' if you want to use the Commercial Edition.
        Type 'o' if you want to use the Open Source Edition.
        第一个是商业版,第二个是自由版。
        选择 'o'(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。
        这时候,出现许可界面。
        选择  'yes' 接受许可协议。
        开始生成 makefile 文件。这个大约需要 5 -10 分钟的时间。

     编译时可能出现"Basic XLib functionality test failed!"的错误,根据以往的经验,在./configure前主动装好下面3个包,基本上就万事大吉了

     sudo apt-get install libX11-dev libXext-dev libXtst-dev

     4、Qt 编译 
        make
       这个过程时间比较长,需要两个小时左右。

     此时若出现/usr/bin/ld: cannot find -lxxx 问题,其中xxx即表示函式库文件名称

     一般出现这种错误有以下几种原因:

   1.系统缺乏对应的库文件;

   2.版本不对应;

   3.库文件的链接错误;

   4.库文件路径设置问题。
 

        对应第一第二种情况,可以通过下载安装lib来解决,ubuntu大多数可以直接通过apt-get来安装:

     apt-get install libxxx-dev

       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。

      5、Qt 安装 
        运行 make install
        默认安装至 /usr/local/Trolltech/Qt-4.7.4
        大约 5 - 10 分钟。正常结束,安装完毕。
        运行 /usr/local/Trolltech/Qt-4.7.4/bin/designer ,看见 qt 启动,也就是说 qt 安装好了。此时中文系统的菜单栏可能不显示,需要运行/usr/local/Trolltech/Qt-4.7.4/bin/qtconfig配置一下字体

      6、设置环境变量

        一。先修改用户环境变量

        vi /home/defonds/.bashrc

        在其最后添加以下信息

        export QTDIR=/usr/local/Trolltech/Qt-4.7.4
        export PATH=$QTDIR/bin:$PATH
        export MANPATH=$QTDIR/man:$MANPATH
        export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

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

        vi /etc/profile
        在其最后添加以下信息
        export QTDIR=/usr/local/Trolltech/Qt-4.7.4
        export PATH=$QTDIR/bin:$PATH
        export MANPATH=$QTDIR/man:$MANPATH
        export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

        三。测试一下

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

        qmake -v

        输出结果:

        QMake version 2.01a
        Using Qt version 4.7.4 in /usr/local/Trolltech/Qt-4.7.4/lib
        输入命令:

        which qmake

        输出结果:

        /usr/local/Trolltech/Qt-4.7.4/bin/qmake
        证明 Qt 环境变量已经被配置成功。

        编者按 :

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

        开始 Qt

        写个简单的 Qt 程序使用安装的 Qt 编译来测试一下它的工作效果
        新建一个文件名为 hello.cpp,其内容如下:

  

#include <QApplication>
#include <QLabel>
int main(int argc,char *argv[])
{
    QApplication app(argc,argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->show();
    return app.exec();
}

        保存 hello.cpp,编译过程如下:
        在 hello.cpp 所在目录下,运行命令
        qmake -project
        hello.cpp 同目录下有 hello.pro 文件被生成,它是与平台无关的工程文件。
        在 hello.cpp 所在目录下,运行命令
        qmake hello.pro
        同目录下有 Makefile 文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmake在win32,vc6环境)就可以完成编译)。
        在 hello.cpp 所在目录下,运行命令
        make
        同目录下有 hello,hello.o 两个文件被编译生成。其中 hello 就是在当前 Linux 系统下使用 Qt 编译生成的可执行文件了。双击运行 hello,“Hello Qt!“ 文本框弹出,OK!做到这一步,证明 Qt 已经完全可以在你的电脑上运作了。还等什么呢,开始你精彩而又愉快的 Qt 开发之旅吧!

本文转自:http://www.cnblogs.com/libao/archive/2013/03/05/2944934.html
posted on 2013-04-08 17:07 王海光 阅读(8492) 评论(0)  编辑 收藏 引用 所属分类: Linux

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理