搜档网
当前位置:搜档网 › [分享]详解如何配置Qt使用VS2010进行开发

[分享]详解如何配置Qt使用VS2010进行开发

[分享]详解如何配置Qt使用VS2010进行开发

Qt –一个跨平台应用程序和UI开发框架

它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。

. c k+

F$ r3 U. \+ G4 w- w

Qt 主要是由诺基亚开发和维护的。Qt通过开源授权(LGPL 和GPL)以及商业授权的方式对Qt 进行授权。在Linux下Qt可是大名鼎鼎,Linux的KDE图形界面就是基于Qt 开发的。. d5 C! z; k. ]- O4 ?0 \- ]4 t

Qt的最大好处是跨平台,可以看到上图,Qt可以支持windows,Mac os,linux,embedded linux,wince/mobile,symbian,诺基亚最新的Megoo那也是不在话下了,由于公司最近有些项目要求跨平台的支持,原来的GIS引擎是基于Windows开发的,虽然没有用MFC,但是由于绘图引擎这块使用的GDI+,所以跨平台是非常困难的。所以为了支持跨平台以及在可预见的将来的跨平台的需求,决定将绘图引擎这块在Qt的基础上进行重构,并使用Qt 开发一套基于QtGis引擎的地图项目管理应用程序。

我在博客中将会同步将开发这个应用程序的步骤展示出来,希望能通过这个系列的博客,来展示Qt开发应用程序的便利性以及展示我们公司GIS引擎的强大能力。应用程序的源代码将会同步放在每篇教程内提供下载。Gis引擎将通过提供SDK的方式方便大家学习及开发。

第一篇. 配置Qt的windows开发环境,并通过Visual Studio 2010进行开发。2 X6 g5 x# Y: i7 t. U) t! ?

1. 下载Qt的安装包和Visual Studio 2010的Qt插件,大家可以到下面的地址进行下载(下面的下载都是基于Windows的,如果是其他环境的操作系统可以到这里下载).( h- \, N# _7 Q4 Z- \

Qt SDK: https://www.sodocs.net/doc/594907631.html,/downloads/sdk-windows-cpp

Visual Studio 2010开发插件: https://www.sodocs.net/doc/594907631.html,/downloads/visual-studio-add-in

2. 安装Qt SDK8 }7 V' y" ] O- Y5 j, \

安装其实很简单了,基本上一路回车即可,主要是要注意下Qt的安装路径最好安装在全英文路径而且中间没有空格, 安装好后,可以运行开始菜单里面的Qt Demo,直观感受下Qt的强大功能!

界面非常炫酷" t `- Q& V" v) ^6 Y$ @( R( |1 A4 Z

3. 安装Qt的VS开发插件

同安装Qt SDK一样,一路上回车即可,安装后在Visual Studio 2010上新增一菜单Qt,如图所示- t3 ]* A% Q" q% U/ I# r2 a( ~

7 l; B, S9 l0 w

4. 编译Qt

Qt默认使用mingw进行编译,如果要使用V isual Studio 2010开发,需要将Qt重新编译。. {4 i7 \0 ]2 o h. `0 n

进入开始菜单Microsoft V isual Studio 2010,Visual Studio Tools,Visual Studio Command Prompt (2010),需要注意的是,这里面必须是使用V isual Studio Command Prompt (2010),不能使用CMD的Dos窗口2 R# ~( A2 A4 F! f

7 c2 {0 A0 Y2 P1 H% G& q

进入Qt的安装目录后,执行CD Qt,进入Qt的根目录2 f: h5 z _7 g9 C2 W; e7 h

& t, H1 b: X. ^7 A1 t1 H3 g

运行命令configure -platform win32-msvc2010,o(选择opensource模式)回车,Y(同意license)回车

接着就会自动配置Qt的编译环境,等配置结束后,运行nmake,回车,Qt就会开始漫长的编译过程,这段时间非常长,需要4个小时以上,大家可以在晚上睡觉的时候进行编译。+ m4 a |) [7 m; W1 M

( g5 \5 O)

_) Q# E: V. J( }

5.配置Visual Studio 2010的Qt开发环境(V isual Studio 2010最好是英文版本,Qt对Visual Studio 2010中文版本可能支持的不好)

等Qt编译好后就可以配置V isual Studio 2010的开发环境了,进入Visual Studio 2010,选择Qt菜单,Qt Option,进入下图界面' ^# Q3 y- }; B) v2 E2 }3 k

, ]4 g# o* G9 a+ _4 y% L

0 F. u- u% Q$ S5 ^

点击Add,添加Qt的安装目录,并取名字,我这里使用Qt的发现版本最为名称,选择

OK后即可。6 f* U+ E5 y# j' ]& g# @

6.新建或者导入Qt项目

可以通过在Visual Studio 2010新建一个Qt项目- y. N6 @9 j q5 c3 O( @

8 S: z) n8 o4 F/ O9 B

导入Qt的Pro项目Pro是Qt自带编译器Qt Creator的项目工程文件,如果想使用V isual Studio 2010开发则需要将原有项目的Pro导入到Visual Studio 2010的项目文件中,可以使用菜单Qt-Open$ K' H' n" m2 G# ?

P$ D6 [7 N2 ^* v3 u

这样我们的Qt开发环境就搭建好了,大家可以将Qt目录下的Example和Demo下的例子的运行看一遍,体验下Qt的强大和便捷,Enjoy!

好像有问题啊。

qt4.7在用vs2010编译时,正常情况下会出现两次错误' ~. ?! O! z% m1 T! L

编译大概1个小时之后,出现:& z1 x+ K1 ]* U+ @* }

! F' G, k7 M$ \ i! ?

01.api\qscriptextensionplugin.h(43): Error: Undefined interface & c4 J6 o5 L8 C3 p J

02.NMAKE : fatal error U1077: 'C:\Qt\2009.05\qt\bin\moc.exe' : return code '0x1' 1 t; G" r9 E5 O" m9 j7 v# y7 J

03.Stop. $ _0 H% z5 K+ ? c6 I' r9 W0 b

04.NMAKE : fatal error U1077: '"d:\Program Files\Microsoft V isual Studio 9.0\VC\BIN

05.\nmake.exe"' : return code '0x2' ! H+ X. |- T+ g( S5 L: \

06.Stop. 9 H8 @7 c$ k' a. y& T& \( Y

07.NMAKE : fatal error U1077: 'cd' : return code '0x2'

08.Stop.

api\qscriptextensionplugin.h(43): Error: Undefined interface8 V8 e3 t4 H# i: D

NMAKE : fatal error U1077: 'C:\Qt\2009.05\qt\bin\moc.exe' : return code '0x1'& M+ K9 L: G1 V Stop.

NMAKE : fatal error U1077: '"d:\Program Files\Microsoft V isual Studio 9.0\VC\BIN! u& u1 e" f7 D

\nmake.exe"' : return code '0x2'- r8 @/ P; \# L0 h2 b0 M

Stop.

NMAKE : fatal error U1077: 'cd' : return code '0x2') E% r6 W; X% [/ [% g2 N* h

Stop.M0 Z9 N3 r ^( r' Y; c

) ~4 p! {- ^ W/ i: H

以上是出错代码,解决方法是将* c+ \- k. P& P- d# x( A3 N: X% ?2 K

3 ?$ }% k3 ^. o7 P. i: `) C

qt/src/script/tmp/moc/debug_shared/mocinclude.tmp! g7 F) L* N1 r

qt/src/script/tmp/moc/release_shared/mocinclude.tmp

! z6 B6 i( q# L

删除,然后继续编译。1 P" H% `& ?5 N& a p

2 H" y& S0 M0 b$ O

过了很长时间之后,在编译webkit部分的代码时,会发生错误,系统会停止编译w$ [( X) ?. G9 `" k! t

D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock etStreamHandlePrivate.cpp(97) : error C2065: “QSslError”: 未声明的标识符

D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock* q3 |; v- [3 S. e

etStreamHandlePrivate.cpp(97) : error C3861: “socketSslErrors”: 找不到标识符

正在生成代码...

NMAKE : fatal error U1077: “"D:\tools\Microsoft V isual Studio 10.0\VC\BIN\cl.EX

E"”: 返回代码“0x2”

Stop.: X b+ T- v. F4 E! i

NMAKE : fatal er ror U1077: “"D:\tools\Microsoft V isual Studio 10.0\VC\BIN\nmake

.exe"”: 返回代码“0x2”2 A( A" M u! y# B5 d* b5 ~' e( i

Stop., u0 j' Q9 ^' W5 K# _$ J) K

NMAKE : fatal error U1077: “cd”: 返回代码“0x2”4 z2 I( d( Z% C, l H! A$ f

Stop.

解决方法是将8 f$ b* n8 _- K+ ^

) q6 G( h7 a1 l

qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\mocinclude.tmp4 s7 B% U9 A5 m7 M5 w# Q2 y! X7 c

qt\src\3rdparty\webkit\WebCore\tmp\moc\release_shared\mocinclude.tmp" I2 P1 z; i( v

删除之后可以继续编译(重新执行nmake命令)- n$ N# m8 J1 C& j7 A

4 [" k6 N) W0 ]

编译成功后qt creator里面显示qt已经成为mscv版本而不是mingw32,但是使用vs2010插件时,仍然提示qt是mingw编译的,不知如何解决?

相关主题