Qt在VC环境下搭建以及编译

一、安装

 

1.在Trolltech.com上下载一个Windows环境下可使用的Qt原码包,如qt-win-opensource-src-4.3.4.zip,并解压缩(如解压缩至F:/Qt-4.3.4)

2. 添加系统环境变量,在PATH中添加qt的bin路径(F:/Qt-4.3.4/bin),添加新的变量QTDIR(QTDIR=F:/Qt-4.3.4),再添加新变量QMAKESPEC=win32-msvc。

3. 运行cmd打开一个dos窗口,进入vc6的vc98/bin中执行vcvars32.bat,

4. 进入qt主目录,执行:configure,选‘y’,等待

5. 再执行nmake,等待,时间比较长

 

二、使用

 

先用记事本或者VC写一段Qt程序,如hello.cpp

#include <QApplication>

#include <QPushButton>

int main(int argc, char* argv[])

{

      QApplication app(argc, argv);

      QPushButton hello("Hello world!");

      hello.resize(400,300);   

      hello.show();

      return app.exec();

}

放在E盘的hello文件夹中(工作目录可以随意选择),然后执行编译链接过程,具体如下:

E:/>hello>qmake -project       //意思是创建一个和平台无关的项目文件

E:/>hello>qmake hello.pro      //根据上一步产生的项目文件创建一个平台特定的makefile

E:/>hello>qmake -tp vc hello.pro  //通过hello.pro创建一个VS的项目文件

E:/>hello>nmake              //编译链结程序

在生成XXX.pro的工程文件后,可以执行qmake -tp vc XXX.pro生成vc的XXX.dsp文件,就可以在vc中进行qt文件的编译和操作了,很方便地在不同系统中进行程序移植了

 

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,假定解压到D:/Qt/4.4.0目录;

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

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

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

3. 将Qt路径添加到VC编译环境中,工具->选项->项目和解决方案->VC++目录,在包含文件一栏添加:D:/Qt/4.4.0/include/QtGui;D:/Qt/4.4.0/include/QtCore;D:/Qt/4.4.0/include,在库文件一栏添加D:/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,编译工程,运行即可出现Hello Qt程序。

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

/

 

QT4.3.0在VC++ 6.0下安装指南

 

参考了一些资料,把自己在vc6.0下安装qt的过程和大家一起分享一下.
1 编译QT

  1)下载QT的源代码文件包(注意:必须是.zip后缀的,.exe后缀的包是用mingw做编译器的源代码文件)。

  2)将QT源代码解压到硬盘。

    例如: C:/Qt/4.3.0/ 或   C:/Qt/4.3.0-msvc/  

2 下载并安装允许QT用vc编译的补丁。

  1)从网站 sourceforge.net下载acs-4.3.0-patch2.zip 。

  2)将其解压到QT源代码的目录下。

3 打开命令行工具,并把路径切换到QT源代码的目录下。

  运行cmd.exe,然后切换到路径到C:/Program Files/Microsoft Visual Studio/VC98/Bin(VC路径),运行vcvars32.bat ,设置vc6.0编译文件的路径。

  确保环境设置正确的方法是看看nmake.exe是否在路径中:

D:/Qt/4.3.0> nmake /?

Microsoft (R) Program Maintenance Utility Version 6.00.8168.0

Copyright (C) Microsoft Corp1988-1998.  All rights reserved.

Usage:  NMAKE @commandfile
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]

Options:

4 给QT源代码打补丁

运行D:/Qt/4.3.0> installpatch43.bat

将会看到下面的一些内容:

D:/Qt/4.3.0> installpatch43.bat
patching file qconfigure.bat
patching file examples/threads/waitconditions/waitconditions.pro
patching file misc/bcc32pch/Makefile.win32-borland
patching file misc/bcc32pch/bcc32pch.cpp
patching file misc/bcc32pch/bcc32pch.pri
patching file misc/bcc32pch/bcc32pch.pro
patching file mkspecs/win32-bccx/qmake.conf

5 安装QT

  如果不清楚使用什么选项,可以运行configure-opensource.exe 

  然后运行D:/Qt/4.1.1>qconfigure.bat msvc

  开始的时候会提问是否接受GPLlicence,输入y。然后就是漫长的等待了。
据说编译期间会出现一个错误(不过我没有遇到),fatal error C1083: Cannot open include file: 'uxtheme.h': No such file or directory

提示Uxtheme.h 和Tmschema.h找不到,而Schemadef.h是在Tmschema.h里调用的,所以还需要另外三个文件,这在VC6里面没有,包含在Windows PlatformSDK安转了Visual Studio 2003或 Visual Studio 2005 中都有PlatformSDK。若安装过,就不必费尽去下载385.0 MB的SDK了,默认安装的话三个文件都在
C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include
(Uxtheme.h 中定义了在向控件添加外观风格的步骤中以及在相应的代码示例中所引用的 UxTheme API;Tmschema.h 中定义了各个类。

可以到这里下载http://www.cnblogs.com/xcvm/archive/2006/03/08/346013.html

把这三个文件加到vc的include文件夹下,就可以通过编译了。

还有一个错误是NMAKE: fatal error U1077: 'cl.exe' : return code: '0x80' Stop

在网上搜了一下,有人说是内存不足的原因,我也遇到了,重启了一下电脑,只开了一个编译QT的窗口后就什么问题也没有了。

6 设置环境变量

PATH = D:/Qt/4.1.1/bin 

QMAKESPEC = win32-msvc

然后重启一下.
检查路径设置的是否正确:

C:/> qmake -v
QMake version: 2.00a
Using Qt version 4.1.1 in D:/Qt/4.1.1/lib

C:/> echo %QMAKESPEC%
win32-msvc

至此,QT就安装好了。

下面用一个小程序测试一下

创建文件名为hello.cpp,输入如下代码:

#include <QApplication>
#include <QLabel>

int main(int argc, char **argv) {
  QApplication app(argc, argv);
  QLabel *label = new QLabel("Hello World!");
  
  label->show();

  return app.exec();
}

然后

prompt> qmake -project -o hello.pro

prompt> qmake

prompt> nmake

就会在debug文件夹下生成一个.exe文件。

/

这些足够拉,大家参考吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值