Qt在vs2010下的配置

news/2024/7/7 19:06:52

首先不要使用中文目录,

 

1 下载Qt的安装包和VS2010的Qt插件

2. 安装Qt SDK

3. 安装Qt的VS开发插件

4. 编译Qt

Qt默认使用mingw进行编译,如果要使用VS2010开发,需要将Qt重新编译。

进入开始菜单Microsoft Visual Studio 2010,Visual Studio Tools,Visual Studio Command Prompt (2010),需要注意的是,这里面必须是使用Visual Studio Command Prompt (2010),不能使用CMD的Dos窗口

进入Qt的安装目录后,执行CD Qt,进入Qt的根目录

image

运行命令 configure -platform win32-msvc2010

o(选择opensource模式)回车,Y(同意license)回车

image

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

 

我在编译的时候有两次错误需要处理,解决方法如下

编译大概1个小时之后,出现:

01.api/qscriptextensionplugin.h(43): Error: Undefined interface 
02.NMAKE : fatal error U1077: 'C:/Qt/2009.05/qt/bin/moc.exe' : return code '0x1' 
03.Stop. 
04.NMAKE : fatal error U1077: '"d:/Program Files/Microsoft Visual Studio 9.0/VC/BIN 
05./nmake.exe"' : return code '0x2' 
06.Stop. 
07.NMAKE : fatal error U1077: 'cd' : return code '0x2' 
08.Stop. 
api/qscriptextensionplugin.h(43): Error: Undefined interface
NMAKE : fatal error U1077: 'C:/Qt/2009.05/qt/bin/moc.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"d:/Program Files/Microsoft Visual Studio 9.0/VC/BIN
/nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

以上是出错代码,解决方法是将

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

删除,然后继续编译。

过了很长时间之后,在编译webkit部分的代码时,会发生错误,系统会停止编译
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
etStreamHandlePrivate.cpp(97) : error C3861: “socketSslErrors”: 找不到标识符
正在生成代码...
NMAKE : fatal error U1077: “"D:/tools/Microsoft Visual Studio 10.0/VC/BIN/cl.EX
E"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"D:/tools/Microsoft Visual Studio 10.0/VC/BIN/nmake
.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.

解决方法是将

qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/mocinclude.tmp 
qt/src/3rdparty/webkit/WebCore/tmp/moc/release_shared/mocinclude.tmp
删除之后可以继续编译(重新执行nmake命令)

 

然后编译就可以正常了。

 

下面是配置vs2010

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

等Qt编译好后就可以配置VS2010的开发环境了,进入VS2010,选择Qt菜单,Qt Option,进入下图界面

image

  点击Add,添加Qt的安装目录

此时我又遇到了一个问题,QT in the given path was built using minGW

解决方法如下

删除lib目录下面的libqtmain.a and libqtmaind.a 文件即可

 

清理前,切记把 qmake.cache和configure.cache备份到别的地方,然后

nmake confclean 腾出空间。
最后再把 qmake.cache和configure.cache 复制回远处

  如果不这样,安装 qt-vs-addin 后进行 Qt Versions 添加路径时将失败。


http://www.niftyadmin.cn/n/4606600.html

相关文章

ItemDecoration解析(一) getItemOffsets

介绍An ItemDecoration allows the application to add a special drawing and layout offset to specific item views from the adapters data set. This can be useful for drawing dividers between items, highlights, visual grouping boundaries and more.All ItemDecora…

The Linux I/O Stack Diagram

http://www.thomas-krenn.com/en/oss/linux-io-stack-diagram/linux-io-stack-diagram_v0.1.pdf

浅谈JavaScript的函数的call以及apply

我爱撸码,撸码使我感到快乐!大家好,我是Counter。今天就来谈谈js函数的call以及apply,具体以代码举例来讲解吧,例如有函数: function func(a, b) {return a b;} 非常简单的一个函数,返回a b 的…

C语言实现密码登录界面,你可能已被盯上!

登录界面是一个网站最重要的部分之一,一个良好的登录界面设计,将会给用户一个良好的使用体验,甚至能够引导非注册用户注册。它不仅仅在界面设计中很重要,也关系着一个网站的用户体验。今天小编用C语言写了一个简单的密码登陆界面 …

我日常的VIM

相信每一vim本书都会介绍给初学者一个叫vimtutor的,可以花几十分钟时间跟着过一边。我总结一下最近看的 移动 只列我用的比较多的命令,所有的注释都用"(vim脚本注释符) 1 h "左2 j "下3 k "上4 l "右&…

OpenCV中关于cvGetCaptureProperty函数

OpenCV中关于cvGetCaptureProperty函数OpenCV中提供了一个函数cvGetCaptureProperty(Capture* cap,int property_index)函数来获取视频文件的一些属性,这是其中的OpenCV中属性的一些宏定义:#define CV_CAP_PROP_POS_MSEC 0#define CV_CAP_PROP_POS_FRAME…

马云:未来两三百年金融是“八二理论” 最大机会在互联网金融

10月16日,蚂蚁金服召开年会,这一天也是蚂蚁金服成立两周年。在10月16日的年会上,蚂蚁金服董事长兼CEO彭蕾将CEO的接力棒交给总裁井贤栋,未来将以蚂蚁金服董事长身份专注公司长期发展、全球化战略、人才培养和文化建设传承。 阿里巴…

【UOJ117】 欧拉回路(欧拉回路)

传送门 UOJ Solution 无解 t1,无向图,当且仅当\(\exists i \ \ in_i \ne out_i\)t2,有向图,当且仅当\(\exists i \ \ in_i是奇数 \& out_i是奇数\)那么剩下的就是模板,写个dfs就可以了。 代码实现 代码戳这里 转载…