关于QT版本的安装配置的一些困惑
大概是之前安装和使用QT太顺利了,什么都没注意就开始使用了。在使用VS2012开发Qt5.31的程序一段时间以后,虽然好用,但是发现其编译的程序不能在XP上使用,要打补丁才行。不仅VS2012本身要打补丁,而且我使用的一个库也要有相应的区别选择,实在是够麻烦的。何况VS2012本身不能在XP下使用,所以思量着使用VS2005或者VS2008做开发吧,实在没办法VS2010也行,至少家里的XP老机子能用。没想到问题来了:
1. 之前装的是QT5.31 for VS2012,因此使用VS2010怎么编译都报错,害得我以为VS2010有问题,卸载后重装依然如故,浪费我至少2小时。原来是QT库的不同,网上另外下载QT5.31 for 2010安装即可。
2. VS2012自身太霸道,不知道怎么回事覆盖了我VS2010的默认C++编译选项,按照这篇文章改回来即可:
http://stackoverflow.com/questions/13663898/specified-platform-toolset-v110-is-not-installed
3. QT5 Add-in 虽然可以安装给VS2008使用,但是使用这个插件打开任何一个.pro文件都会出现莫名其妙的转换失败问题。而且我后来发现没有QT 5.31 for VS2008的版本,而且网上查了一下QT 5.0 5.1 5.2版本都没有专门的for 2008版本啊,莫名其妙提供这个安装选项干什么。但是隐约记得强行指定QT 2012库也可以编译,以后再回来确认。今天急着要做正式开发。
4. 我自己之前使用VS2005编译了一个QT 4.53的库,很好用,各种书籍的例子都畅通无阻。但是新建一个工程,编译运行没有任何警告。但是把工程库指向QT4.86的时候,就会发出警告,提示宏定义重复了:
1>c:\qt\4.8.6_2008\include\qtcore\../../src/corelib/global/qconfig.h(41) : warning C4005: 'QT_LARGEFILE_SUPPORT' : macro redefinition
1> command-line arguments : see previous definition of 'QT_LARGEFILE_SUPPORT'
使用VS2008新建一个空工程,使用同一个QT4.86库就没有任何问题。
------------------------------------------------------------------------------------
总结:
1. VS2005 + Qt4.53用来学习书上的例子,真是绝美。Qt 4.53是2009年年末发布的,做一般性的工程大概也够了,谁会需要那么多QT新特性啊,一般越是小白越起劲,人家KDE那么大的天文工程都使用QT4做出来了。
这是QT5的新特性列表:http://qt-project.org/wiki/Qt-5Features
2. VS2008 + Qt4.86做QT4的工程,也是没有任何问题,连个警告都没有。
3. VS2010 + Qt5.31做QT5的工程也不错,就是XP上运行太慢,另外别忘了给它装对应的QT5.31 for 2010
4. VS2012 + Qt5.31本来一直都觉得很好用,但是需要通过打补丁,而且是各种补丁,也能解决所有的开发与配置问题,但我不愿意折腾,何况也不能在XP下运行,所以放弃。
我目前这个工程打算迁移到方案2试试,不是自己编译的库,发布的时候应该更可靠一些。除了未来有可能会使用JSON,其它方面不需要任何新特性。如果开发遇到问题,就转到方案3。赶紧行动~
------------------------------------------------------------------------------------
补充1:VS2012使用QT 5.31 for 2010没有任何问题!看来VC的向下兼容做得不错。
补充2:
使用VS2008编译QT程序的时候,总是碰到这样的错误:
1>libcmtd.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount already defined in MSVCRTD.lib(MSVCR90D.dll)
在这里
Project Property->Configuration Properties->Linker->Input->Ignore Specific Library
填上:
libcmtd.lib
补充3:
至今没搞明白,如何静态编译QT的应用程序(不是QT自身,但这样有可能需要静态编译QT?),可能是这样设置:
Project Property->Configuration Properties->C/C++->Code Generation->Runtime Library
设置:
Multi-threaded (/MT)
同时忽略(同补充2):
LIBCMT.lib
(注意,Debug和Release版要分别设置一遍)
补充4:
如何简单发行QT的应用程序,使之不再依赖VS开发环境(加上VC的2个DLL应该还是可以的),可能是这样:
http://bbs.csdn.net/topics/310079403
http://support.microsoft.com/kb/148652
补充5:
好好的程序,Debug没问题,Release版发行程序怎么会缺了一部分资源图片呢?
补充6:
1>c:\qt\4.8.6_2008\include\qtcore\../../src/corelib/global/qconfig.h(41) : warning C4005: 'QT_LARGEFILE_SUPPORT' : macro redefinition
1> command-line arguments : see previous definition of 'QT_LARGEFILE_SUPPORT'
在VS2008中也出现了,要想办法去掉。
后续:找到qt\src\corelib\global\qconfig.h文件(双击编译错误就可以找到),找到这行:
#define QT_LARGEFILE_SUPPORT 64
替换成:
#ifndef QT_LARGEFILE_SUPPORT
#define QT_LARGEFILE_SUPPORT 64
#endif
关于QT版本的安装配置的一些困惑的更多相关文章
- QT开发环境安装配置教程
QT开发环境安装配置教程 分类: QT2012-11-29 23:31 35366人阅读 评论(12) 收藏 举报 Linux版的直接在ubutnu软件中心输入QT,安装响应的Designer,Cre ...
- centos7: svbversion版本的安装配置+tortoisesvn登录验证
centos7: svbversion版本的安装配置+tortoisesvn登录验证 命令工具:svnadmin create #创建版本库 hotcopy #版本库热备份 Islocks #打印所有 ...
- PyCharm+Qt Designer+PyUIC安装配置教程
Qt Designer用于像VC++的MFC一样拖放.设计控件 PyUIC用于将Qt Designer生成的.ui文件转换成.py文件 Qt Designer和PyUIC都包含在PyQt5中,所以我们 ...
- windows, fast-rcnn CPU版本的安装配置
一:安装准备 1:caffe的安装配置,本人用的是happynear大神的caffe版本,具体链接https://github.com/happynear/caffe-windows,编译时需要用到p ...
- mysql5.7版本免安装配置教程
自己花了两天时间才搞清楚,希望对新手有一定帮助,有问题可以联系哦! mysql分为安装版本msi,免安装要压缩版本ZIP,下载网址:http://dev.mysql.com/downloads 免安装 ...
- Centos7下配置Python3和Python2共存,以及对应版本Ipython安装配置
1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Pytho ...
- 运维笔记--SqlServer相关版本&下载&安装&配置远程连接
下载地址:SqlServer2008为例 SqlServer2008:https://www.microsoft.com/en-us/download/details.aspx?id=1695 Sql ...
- Python版本OpenCV安装配置及简单实例
# 2018-06-03 # 1. Python下载:https://www.python.org/downloads/ 选择对应平台对应版本的的Python进行安装. 2. Python版OpenC ...
- linux版本neo4j安装配置教程
https://blog.csdn.net/weixin_44293236/article/details/89467489
随机推荐
- MaBatis配置(单配置 之一)
注: 此文中的实体类还是沿用上一章的Emp和Dept两个类 .引入需要的jar包文件:http://pan.baidu.com/s/1qYy9nUc :mybatis-3.2.2.jar .编写MyB ...
- HTML+CSS(12)
n CSS浮动和清除 Float:让元素浮动,取值:left(左浮动).right(右浮动). Clear:清除浮动,取值:left(清除左浮动).right(清除右浮动).both(同时清除上面的 ...
- jQuery封装的选项卡方法
********************************************************2018/3/15更新********************************* ...
- webstorm中配置过visualsvn,后面做更改要更换authentication realm的解决办法
找这个找了好久,一直改不过来,终于找到了解决办法 首先,在提交代码时提示: 但是我的authentication realm已经时这个了,并且账号和密码也改了,所以要更改authentication ...
- Win32双缓冲讲解
双缓冲是一种思想,也是一种方法,它可以避免频繁的闪烁问题.如果在画布上直接绘画,由于每次都会重新擦除然后重绘,绘制需要时间,所以肉眼会看到闪烁问题.解决的方法就是在内存中先创建出一个内存dc,然后在内 ...
- 吐得了,vue的多选组合框回显必须是字符串集合
下面这个typeIdList,如果给他赋值,就能回显到页面,但是必须是字符串的集合,如果是数值类型的id,不好意思,请转成字符串
- matlab数值数据的表示方法,输出数据以及相关函数
数据类型的分类: 1.整型 无符号整型和带符号整形 带符号整形的最大值是127 >>x=int8(129) 输出结果是x=127 >>x=unit8(129) 输出结果是x=1 ...
- Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤
背景 因为项目需要在客户端中内嵌浏览器,需要支持 xp 操作系统和播放视频,但 CEF 2623 以后的版本已经不支持 xp 操作系统,也不再提供 2623 版本的二进制发布包下载,只好自己手动编译. ...
- 获取springbean的几种方式
首先我说一下我遇到的问题,再项目初始化时候,spring容器初始化前要执行的操作中使用到了bean去做一些增删改查操作,这样做是不能自己使用springbean的数据源去操作的,所以需要动态获取spr ...
- 解析特殊格式的xml到map
由于项目特殊,需要解析的xml文档样式特别,所以自己写了一个解析特殊xml的方法 先提供xml样式 <?xml version="1.0" encoding="UT ...