使用VS2005安装和编译QT4.53源码
学习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源码的更多相关文章
- msvc2013编译qt5.6源码
1.回顾 说起到qt的编译,真是领人痛心啊,不仅编译选项繁多,而且编译时间比较久,总是能使想编译qt源码的人望而却步,呵呵...我就是其中一个,不知道从什么时候开始就想着把qt的源码编译一下,也尝试过 ...
- Ubuntu 下载 & 编译 Android5.1 源码
ustc & tsinghua android srchttps://lug.ustc.edu.cn/wiki/mirrors/help/aosphttps://mirrors.tuna.ts ...
- 在Ubuntu Server14.04上编译Android6.0源码
此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...
- 编译android5.0源码的
java环境 Android 5.1 用到的jdk不再是Oracle 的 jdk ,而是开源的 openjdk,在ubuntu安装好后,使用如下命令安装jdk: $sudo apt-get insta ...
- 【转】编译Android系统源码和内核源码
原文网址:http://blog.csdn.net/jiangwei0910410003/article/details/37988637 好长时间没有写blog了,之所以没有写,主要还是工作上的事, ...
- vs2008编译FileZilla客户端源码
vs2008编译FileZilla客户端源码 下载FileZilla客户端源码,下载地址https://download.filezilla-project.org/. FileZilla客户端解决方 ...
- 编译jmeter5.0源码
jmeter5.0使用过程中,遇到request或者response乱码的情况,想要一次性解决这个问题,需要编译ApacheJMeter_http.jar这个包(lib\ext文件下)里的Reques ...
- FW 编译Android系统源码和内核源码
编译Android系统源码和内核源码 分类: Android2014-07-21 20:58 7287人阅读 评论(28) 收藏 举报 好长时间没有写blog了,之所以没有写,主要还是工作上的事,发现 ...
- 【原】storm源码之mac os x编译twitter storm源码
twitter storm是由backtype公司创始人nathanmarz一手研发和开源的流计算(实时计算)框架,堪称实时计算领域的hadoop.nathanmarz也是在mac os x环境下开发 ...
随机推荐
- MFC获取各类指针句柄
最近有些人在问MFC编程一些要点,有一些句柄的获取.指针的获取是常见的问题,本文将对这些问题做以解释,参考了前人的笔录(见reference),希望能够帮助大家更方便地进行MFC程序开发. 一般我们使 ...
- 洛谷——P1413 坚果保龄球
P1413 坚果保龄球 题目描述 PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zo ...
- POJ3616 Milking Time【dp】
Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her producti ...
- [NOIP2017普及]跳房子
我太弱了... 单调队列优化DP+二分答案. #include <algorithm> #include <iostream> #include <cstdlib> ...
- Semi-colon expected (eclipse 引入 json文件报错)
最近做的项目用到的前端框架有一个json文件夹,里面全是json文件,所以导入Eclipse的时候会在整个项目上都是红叉,但是其实不影响项目运行的,之前忙着码代码也没时间管他,这个红叉存留了一个月!今 ...
- CCF201512-2 消除类游戏 java(100分)
试题编号: 201512-2 试题名称: 消除类游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进 ...
- 05 Python运算符
Python运算符: 此图来源于菜鸟教程,更详细参考 http://www.runoob.com/python3/python3-basic-operators.html 说明: 同一优先级的通常从左 ...
- springcloud(十二):Ribbon客户端负载均衡介绍
springcloud(十二):Ribbon客户端负载均衡介绍 Ribbon简介 使用分布式微服务脚骨的应用系统,在部署的时候通常会为部分或者全部微服务搭建集群环境,通过提供多个实例来提高系统的稳定型 ...
- slf4j+log4j2的配置
昨天自己测试了一下slf4j+log4j2的配置,可以正常使用,虽然配置十分简单,但好记性不如烂笔头,想想还是记录下来吧. 运行的环境:jdk1.7.tomcat7.Maven的web项目 1.在新建 ...
- 【Codeforces 382C】Arithmetic Progression
[链接] 我是链接,点我呀:) [题意] 让你在n个数字中再加入一个数字 使得这n+1个数字排序之后 相邻两个数字的差都相同 [题解] 注意相邻为0的情况 这种情况 只有全都相同才行 只有一种情况 然 ...