vs2008下搭建qt开发环境

在vs下怎样搭建qt的开发环境呢?本人以自己学习的过程为例子,来总结一下。

qt现在已经有了5.0的版本,我现在学习的是4.0版本的。在qt的官网上可以下载到所有的qt版本。

1、搭建qt环境,需要使用的3个软件:vs(本人是在vs 2008下开发的)、qt-opensource-windows、qt-vs-addin-x.x.xx-opensource

2、下载qt的相关软件:

http://download.qt.io/archive/ 目录下面下载相关的qt-vs-addin(我下载的是qt-vs-addin-1.1.11-opensource.exe

http://download.qt.io/archive/qt/目录下面下载相关的qt-opensource-windows(我下载的是qt-opensource-windows-x86-vs2008-4.8.7.exe

3、安装vs2008、qt-opensource-windows、qt-vs-addin-x.x.xx-opensource这3个软件,安装的顺序无所谓

4、安装完成之后,可以测试是否安装成功

打开vs2008-----》新建项目-----》qt application

vs2008下搭建qt开发环境

创建成功之后,编译,运行,会出现一个窗体,这样说明qt环境配置成功

                                                    第二部分:在win32控制台下创建qt窗体

1、新建一个空的控制台项目,添加下面的代码

#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QLabel>
#include <QtGui/QApplication>
#include <QtCore/QTextCodec>

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

这样如果编译的话,是不会成功的,因为没有添加qt环境的lib和include目录,导致无法找到相应的函数

1、工具----》选项----》项目和解决方案----》VC++目录-----》包含文件,添加include目录

vs2008下搭建qt开发环境

2、工具----》选项----》项目和解决方案----》VC++目录-----》库文件,添加lib目录

vs2008下搭建qt开发环境

3、需要添加qtcore4.dll和qtgui4.dll两个动态库文件(按下alt+f7可以弹出属性页)

vs2008下搭建qt开发环境

备注:qtcore4.dll和qtgui4.dll这两个动态库添加时,需要指定dll的路径,如果没有指定,默认是在windows/system32(Windows\SysWOW64)这个目录下

当然,也可以不添加这两个动态库,在程序中动态的加载;

#pragma comment(lib,"QtCore4.lib")
#pragma comment(lib,"QtGui4.lib")

当环境配置完成后,编译、运行,会出现DOS+窗体;


                                              第三部分:去掉DOS框

复制下面的代码:

#include<windows.h>
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QLabel>
#include <QtGui/QApplication>
#include <QtCore/QTextCodec>

int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
    int argc=0;
    char **argv=0;
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->show();
    return app.exec();
}

这就是一个win32的窗体应用程序,我们可以建立一个空的win32窗体工程;也可以在第二部分的控制台程序中,修改相应的函数入口点,就可以使用。

如果直接编译会出现无法找到函数入口点,我们需要修改一些选项;

1.菜单中选择 Project->Properties, 弹出Property Pages窗口

2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 

添加_WINDOWS.

3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)


4.重新编译,运行,现在只有一个窗体。