zoukankan      html  css  js  c++  java
  • VC 2005 下如何编译安装并开发 QT 4.4.3 应用程序(转载)

    VC 2005 下如何编译安装并开发 QT 4.4.3 应用程序(转载)

    http://www.360doc.com/content/10/0123/16/79031_14229787.shtml

    Qt是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,Qt支持所有的UNIX系统,包括Linux系统,还支持WinNT/Win2k、Windows 95/98平台。
      本文将使用简单的几个步骤说明在VC 2005下如何编译安装并开发QT应用程序:

    一、下载及安装

    1. 从官方网站http://trolltech.com/lang/cn/downloads/open-source-downloads下载QT最新版本源代码,ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.4.0.zip

        (zcl:最新的下载为 http://qt.nokia.com/downloads  中的 Qt libraries 4.7.1 for Windows (VS 2008, 228 MB)

                                  http://qt.nokia.com/downloads/sdk-windows-cpp

                                                 已经保存到 F:\SoftWare-new\QT

          )

        假定解压到E:\Qt\4.4.0目录;

    2.  从VC 2005的安装路径找到vsvars32.bat,例如:在E:\Program Files\Microsoft Visual Studio 8\Common7\Tools,运行cmd,

    C:\> C:
    C:\> "C:\Program Files\Microsoft Visual Studio 8\Common7\Tools"
    C:\Program Files\Microsoft Visual Studio 8\Common7\Tools> vsvars32.bat
    C:\Program Files\Microsoft Visual Studio 8\Common7\Tools> E:
    E:\> cd E:\Qt\4.4.0
    E:\Qt\4.4.0> configure -debug-and-release -static

         (zcl:由于本机装有多个vs,configure -debug-and-release -platform win32-msvc2005 -static,一下是部分参数的介绍

                   1、编译shared版(默认编译为shared版,不需要设置),并且编译debug和release两个版本(-debug-release)
                   2、使用vc2005(包括express版)(-platform win32-msvc2005)
                   3、使用qt自带的zlib、gif、libpng、libmng、libtiff、libjpeg (-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg)
                   4、编译数据库插件支持sqlite、odbc(需要相应的C/C++头文件和库的支持)(-plugin-sql-sqlite -plugin-sql-odbc)
                   5、不支持qt3 (-no-qt3support)

                   之后输入“y”应答

           )
    E:\Qt\4.4.0> nmake


           configure -debug-and-release -static参数的意义是告诉QT同时编译为Debug和Release两个版本的静态链接库,不指定参数则编译为Debug版本的动态链接库。configure大约需要十几分钟,nmake则大约需要1小时左右,视你的电脑性能而定。

     

    3. 将Qt路径添加到VC编译环境中,工具->选项->项目和解决方案->VC++目录,

        在包含文件一栏添加: E:\Qt\4.4.0\include\QtGui;E:\Qt\4.4.0\include\QtCore;E:\Qt\4.4.0\include,

        在库文件一栏添加E:\Qt\4.4.0\lib;将QT安装路径添加到Path系统环境变量中,例如:D:\Qt\4.4.0\bin;

    二、交叉编译

    1. 启动VC,创建一个Hello Qt工程,将工程设置改为使用多字节字符集,因为Qt Application的入口函数不是Unicode的;

    2. 启动Qt Designer,新建窗体->选择对话框窗体(第一个选择项),在新建的对话框上面放一个Label控件,将其Title修改为“Hello Qt!”,将该窗体保存到刚才用VC建立的Hello Qt工程目录,文件名为Hello.ui;

    3. 将Hello.ui作为源文件添加到Hello Qt工程中,在Hello.ui上点击右键->属性,在属性对话框中选择自定义生成步骤->常规,

    在命令行一栏输入:uic.exe Hello.ui -o HelloUi.h,

    说明一栏输入:正在编译Hello.ui ,

    在输出一栏输入:HelloUi.h,

    在附加依赖项一栏输入:uic.exe;Hello.ui,点击确定;

         注意:也可以不使用手工添加方式添加编译ui文件,直接使用qmake编译成VC工程,但这样会破坏原来的工程设置,因为当ui文件修改或添加新的ui后需要重新qmake,重新生成VC工程,因此这里采用了手工添加并设置编译脚本的方式,qmake的用法如下:
    D:\Hello Qt> qmake -project -t vcapp -o HelloQt.pro
    D:\Hello Qt> qmake
    不需要指定ui文件,qmake会将当前目录所有的ui文件以及C++文件创建一个VC工程。另外QT 4.4是对VC各个版本都兼容的,VC6、VC2003、VC2005、VC2008,编译安装步骤都是一致的。

    4. 在Hello.ui上点击右键->编译,将在当前工程目录生成HelloUi.h文件;

    5. 打开Hello Qt.cpp,在main函数添加启动代码,完整代码如下:

    // Hello Qt.cpp : 定义控制台应用程序的入口点。

    #include "stdafx.h"
    #include "HelloUi.h"   // ui文件编译生成的C++文件
    #include <QApplication>

    int _tmain(int argc, _TCHAR* argv[])
    {
     QApplication app(argc, argv);
     QDialog * dlg = new QDialog();  // Qt 窗口对象会自动回收所有的子窗口对象,这里的dlg将被作为最外层窗口,将由QApplication进行回收,因此Qt窗口只能在堆分配对象,且不必使用delete。

     Ui::Dialog ui;   // Dialog为ui文件编译生成的C++类,参见HelloUi.h
     ui.setupUi(dlg);

     dlg->show();

     return app.exec();
    }

    在工程设置附加依赖项中添加

    QtCore.lib

    QtGui.lib,

    Imm32.lib
    Ws2_32.lib
    winmm.lib

    编译工程,运行即可出现Hello Qt程序。

    Windows程序里面的消息机制,在MAC平台则是苹果事件,各平台的驱动方式各异,Qt则将这些不一致的平台机制统一起来,形成了信号和槽机制,来处理各种系统事件,以实现跨平台的目的,因此Qt程序几乎不经过任何修改,便可以在其它平台编译通过。

    标签集:TAGS:QT VC 2005

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/carl2380/archive/2010/12/01/6047556.aspx

  • 相关阅读:
    BaseJob
    BaseWorkerForm
    MainForm()
    OperationSystemForm
    Job1
    ExeCuteManager
    ThreadPool
    LogEntry
    java学习阶段一 常量
    java学习阶段一 数据类型
  • 原文地址:https://www.cnblogs.com/carl2380/p/2093309.html
Copyright © 2011-2022 走看看