学习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. 判断excel是否包含隐藏sheet

    Workbook workbook =new XSSFWorkbook("D:\\文档1.xlsx"); System.out.println(workbook.isSheetHi ...

  2. CAD如何设置系统变量

    主要用到函数说明: MxDrawXCustomFunction::Mx_SetSysVar 设置系统变量.详细说明如下: 参数 说明 CString sVarName 系统变量名 Value 需要设置 ...

  3. java_IO_装饰器

    装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰 ...

  4. js一般用法

    <1> 通过id查找html元素 var x=document.getElementById("intro");   <2> 通过标签名查找html元素 v ...

  5. ViewData丶ViewBag和TempData

    案例: public ActionResult Index() { ViewData[; ViewData.Add(); ViewBag.myNum = ; TempData[; Student st ...

  6. BZOJ 2223: [Coci 2009]PATULJCI 主席树

    Code: #include<bits/stdc++.h> #define maxn 300001 #define mid ((l+r)>>1) using namespace ...

  7. 网络模型、IP命令、SS命令介绍

    1. 分层对应关系 OSI七层模型和TCP/IP五层模型都属于TCP/IP协议栈,而TCP/IP协议栈只有两种传输层协议:TCP.UDP,所以对于Telnet.FTP这些协议,建议称之为承载在TCP之 ...

  8. 【代码段】Android Studio使用DatePicker选择日期

    布局文件中放一个TextView就好了 Java文件如下: public class TestDatePickerActivity extends AppCompatActivity { privat ...

  9. 洛谷 3870 [TJOI2009]开关

    [题解] 线段树基础题.对于每个修改操作把相应区间的sum改为区间长度-sum即可. #include<cstdio> #include<algorithm> #include ...

  10. 洛谷 2173 BZOJ 2816 [ZJOI2012]网络

    [题解] 明显的LCT模板题,c种颜色就开c棵LCT好了.. #include<cstdio> #include<algorithm> #define N 100010 #de ...