QT+VS2008 完整平台搭建

来源:互联网 发布:蜂群算法 pid 编辑:程序博客网 时间:2024/04/29 08:55

为了学QT,花了近三小时解决了整个平台搭建的问题。。。以下为详细内容~

1.需要下载的:

(1)VS2008.这是用的版本。虽然已经13年了,VS也有了WIN8版的,但是还是喜欢08。整个平台都是面向08搭建的,10的话其实一个也差不多。

(2)Qt libraries 4.8.4 for Windows (VS 2008, 233 MB)以及Visual Studio Add-in 1.1.11 for Qt4

如果你无法访问外网的话,可以试试以下链接,我上传到百度云盘的:

http://pan.baidu.com/share/link?shareid=354218&uk=2804348991

http://pan.baidu.com/share/link?shareid=354211&uk=2804348991

如果你还下不了。。。去网吧或者用朋友的电信吧。

2.下载完了之后,安装吧。08的安装我就不说了。两个QT文件的安装都是傻瓜式的。安装路径最好还是选全英文的吧,虽然我没测试过。

3.现在就可以建立QT工程了。

打开VS2008,文件->新建->项目,如下图。

点击确定,然后一路点下去就OK啦。Ctrl+F5编译,大家都会的。

4.真正的麻烦

很多QT的书上可不是这么建立工程的。。。如果直接给你一个CPP文件,你怎么编译执行呢?

下面,我们来建立一个纯CPP的QT工程。

打开VS2008,文件->新建->项目,Visual C++,WIN32控制台应用程序,记得点击“空项目”。建好之后,输入以下测试代码:

复制代码
#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的include和lib路径,所以找不到。做如下设定:

工具->选项->项目和解决方案->VC++目录,如下图

在包含文件的选择框下添加QT include文件夹路径。我安装在D盘,所以填的是这个。

同样,库文件那边也要修改,如下图:

至此,include和lib已经设置好了,再次编译。。。还是报错。。。

解决方案:ALT+F7,即项目属性,如下图:

依照图中位置加入QtCore4.lib QtGui4.lib即可,点击确定。编译执行,成功~如下图

嗯,的确成功运行了。但是控制台的黑框框还在,还是很不爽。如下建立工程:

建立WIN32空项目,和上面一样在项目属性里加入QtCore4.lib和QtGui4.lib,输入如下代码:

复制代码
#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();}
复制代码

终于可以跑了。。。至此,问题解决

如果觉得更改项目属性比较麻烦的话,也可以在代码中直接加入:

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

同样可以解决问题。

5.编译程序的执行:

QT安装包里用很多example,也有很多编译好的exe文件。执行的话一般都会弹出缺少XXX.dll。可以将安装包里bin文件夹下所有dll文件copy到系统盘C:\Windows\System32文件夹下。下次执行就OK了。

6.其他问题目前没有发现,有的话我会继续补充~

转载注明出处:http://www.cnblogs.com/IT-BOY/archive/2013/03/20/2971880.html