学习Qt,当然是QT4好。可是装了4.86以后,网上下载的书中的例子大多无法直接用VS执行(个人不喜欢用QT Creator),即打开pro转换的时候出错(我也懒的研究为什么出错了)。看了一下发布时间,觉得4.53时间比较合适,是2009年末发布的。也许能运行书上的例子。

因为很懒,所以不想编译QT源代码,最好装上就能用。所以下载了qt-win-opensource-4.5.3-mingw.exe,安装报错,说找不到mingw。所以又下了MinGW-5.1.4.exe,这是个在线安装版本,我非常不喜欢,但是也没办法,实在找不到离线版本。不过没想到,安装也挺简单的,而且都下载到本地,干脆我就把它们全保留了,省得下次还要下载。安装完以后要设置:

---------------------Windows下安装MinGW后环境变量配置---------------------
http://blog.csdn.net/johnpub/article/details/9246887

1、在PATH里加入C:\MinGW\bin,记得,如果里面还有其他的变量,记得要加个分号啊,分号得在英文输入模式下输入的。
2、新建LIBRARY_PATH变量,如果有的话,在值中加入C:\MinGW\lib,这是标准库的位置。
3、新建C_INCLUDEDE_PATH变量,值设为C:\MinGW\include。
4、新建CPLUS_INCLUDE_PATH变量,值为C:\MinGW\include\c++\3.4.5;C:\MinGW\include\c++\3.4.5;C:\MinGW\include\c++\3.4.5\backward;C:\MinGW\include

或者
1、添加MINGW_HOME,值为:C:\MinGW
2、添加C_INCLUDE_PATH,值为%MINGW_HOME%\include
3、添加CPLUS_INCLUDE_PATH,值为 
%MINGW_HOME%\lib\gcc;%MINGW_HOME%\lib\gcc\mingw32;%MINGW_HOME%\lib\gcc\mingw32\4.7.2;%MINGW_HOME%\lib\gcc\mingw32\4.7.2\include;%MINGW_HOME%\lib\gcc\mingw32\4.7.2\include\c++;%MINGW_HOME%\lib\gcc\mingw32\4.7.2\include\c++\backward;%MINGW_HOME%\lib\gcc\mingw32\4.7.2\include\c++\mingw32;
4、path添加值:%MINGW_HOME%\bin;

------------------------------------------------------------------------------------

然后就可以安装了qt-win-opensource-4.5.3-mingw.exe了,一切都没有问题。

但我的目的是使用VS2005学习QT4,所以继续。安装VS2005,这个简单。然后安装qt-vs-addin-1.1.11-opensource.exe (for qt4),这个也简单。然后在VS的QT->QT Options菜单里设置QT版本,当然选择之前安装的4.53,结果报错,说是MinGW版本。说的这么明白,肯定是不行了。所以没办法,不能偷懒了,必须自己编译源代码。网上搜了一些文章,折腾了好一会儿,都不行。主要是能运行QT源码目录里的configure,但不能运行之后的nmake。原因是configure运行的不好或者不成功。后来成功运行了configure,主要是设置一些系统参数(不是configure的命令参数啊),如下(特别是第三项,我漏了这个):

QTDIR —— 刚刚解压的Qt根目录,
添加%QTDIR%\bin到Path,
QMAKESPEC —— win32-msvc2005

如此之外,我还设置了%QTDIR%\Lib到Path,运行过vcvarsall.bat,因为一开始不成功,所以参考了一些其它文章,其中就提到了这些,也不知道有没有影响。

因为我需要全版本的QT,所以Configure命令不带任何参数。

几分钟之后,configure就结束了,然后运行namke.exe,这个需要2个小时。然后就可以使用VS2005打开QT项目的.pro文件,可以自动转换,不报任何错。至少《Linux窗口程序设计―Qt4精彩实例分析-实例源代码》这本书里的几个项目文件都没问题(QT跨平台特性一流,明明书是给Linux的,VS打开项目文件照样直接运行,爽)。后来又试了C++ GUI Qt4 编程(第二版)的例子,带中文路径,转换和运行都没有问题。爽~

主要参考:

http://hi.baidu.com/maxint/item/694146accb222c38020a4d5a

使用VS2005安装和编译QT4.53源码的更多相关文章

  1. msvc2013编译qt5.6源码

    1.回顾 说起到qt的编译,真是领人痛心啊,不仅编译选项繁多,而且编译时间比较久,总是能使想编译qt源码的人望而却步,呵呵...我就是其中一个,不知道从什么时候开始就想着把qt的源码编译一下,也尝试过 ...

  2. Ubuntu 下载 & 编译 Android5.1 源码

    ustc & tsinghua android srchttps://lug.ustc.edu.cn/wiki/mirrors/help/aosphttps://mirrors.tuna.ts ...

  3. 在Ubuntu Server14.04上编译Android6.0源码

    此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...

  4. 编译android5.0源码的

    java环境 Android 5.1 用到的jdk不再是Oracle 的 jdk ,而是开源的 openjdk,在ubuntu安装好后,使用如下命令安装jdk: $sudo apt-get insta ...

  5. 【转】编译Android系统源码和内核源码

    原文网址:http://blog.csdn.net/jiangwei0910410003/article/details/37988637 好长时间没有写blog了,之所以没有写,主要还是工作上的事, ...

  6. vs2008编译FileZilla客户端源码

    vs2008编译FileZilla客户端源码 下载FileZilla客户端源码,下载地址https://download.filezilla-project.org/. FileZilla客户端解决方 ...

  7. 编译jmeter5.0源码

    jmeter5.0使用过程中,遇到request或者response乱码的情况,想要一次性解决这个问题,需要编译ApacheJMeter_http.jar这个包(lib\ext文件下)里的Reques ...

  8. FW 编译Android系统源码和内核源码

    编译Android系统源码和内核源码 分类: Android2014-07-21 20:58 7287人阅读 评论(28) 收藏 举报 好长时间没有写blog了,之所以没有写,主要还是工作上的事,发现 ...

  9. 【原】storm源码之mac os x编译twitter storm源码

    twitter storm是由backtype公司创始人nathanmarz一手研发和开源的流计算(实时计算)框架,堪称实时计算领域的hadoop.nathanmarz也是在mac os x环境下开发 ...

随机推荐

  1. LockDemo 锁对象

    class Resource { private boolean flag = false; private String name; private int count; //资源锁 Lock lo ...

  2. JavaScipt30(第十个案例)(主要知识点:选中一个数组中间相连部分进行操作的一种思路)

    承接上文,第九个案例就不说了,是控制台的一些东西,一般用的很少,了解下就行了,想用的时候再翻api.这是第10个案例: 需要实现的效果是:点击一个checkbox,然后按下shift点击另一个chec ...

  3. impdp and docker install oracleXE

    docker oracle https://hub.docker.com/r/sath89/oracle-xe-11g/ docker run -d -p 8080:8080 -p 1521:1521 ...

  4. jenkins部署遇到离线问题如何解决

    部署jenkins页面时遇到离线问题如何解决 部署jenkins遇到一个问题,然后告诉我你的jenkins已经离线,什么鬼,后来找了很多博客 后来自己终于验证成功了,也分享给大家,只需把https改为 ...

  5. 洛谷——P1549 棋盘问题(2)

    P1549 棋盘问题(2) 搜索||打表 #include<cstdio> #include<cstring> #include<iostream> #includ ...

  6. ZOJ - 3981 - Balloon Robot (思维)

    参考自:https://blog.csdn.net/qq_36553623/article/details/78445558 题意: 第一行三个数字n, m, q表示有m个座位围成一个环,n个队伍,q ...

  7. Bat 脚本(常用命令)

    Bat 批处理脚本 (常用) Bat 批处理脚本 === Content === 1. Rem 和 :: Rem 为注释命令,能回显. :: 为符号注释,不能回显. %行内注释内容% ===== (不 ...

  8. Mybatis中and和or的细节处理

    当一条SQL中既有条件查又有模糊查的时候,偶尔会遇到这样的and拼接问题.参考如下代码: <select id="listSelectAllBusiness"> sel ...

  9. Vuex实践小记

    1.目录结构 2.开始(安装vuex) npm install vuex --save 3.编辑store/index.js(创建一个Vuex.store状态管理对象) import Vue from ...

  10. Spring 事务XML配置

    <!-- 配置 Spring 的声明式事务 --> <!-- 1. 配置事务管理器 --> <bean id="transactionManager" ...