原帖:http://www.cppprog.com/2009/0728/143.html

我自己编译QT4.5的过程,记录下来以防以后忘记。也可以让想用QT的朋友们在如何编译上节省点时间。

  1. 从http://www.qtcentre.org/下 载QT源代码,注意是源代码。我下载到的是QT4.5.1版,文件名为qt-win-opensource-src-4.5.1.zip
  2. 解压,注意不要解压路径不要含有空格或中文,我把它解压到了d:\qt451
  3. 准备一个存放编译后“成品”的文件夹,我准备放在d:\qt451\static
  4. 把QT源码里的“mkspecs” 文件夹复制到准备存放“成品”的地方,比如我的就是把d:\qt451\qt-win-opensource-src-4.5.1\mkspecs复 制到d:\qt451\static
  5. 用记事本或其它编辑器打开D:\qt451\static\mkspecs\win32-msvc2005\qmake.conf(注 意VC版本号),按需要修改:
    • 如果不希望编译出来的DLL或EXE链接到VC运行时库,就把-MD改成-MT,把-MDd改成-MTd(查找替换)。
    • [可选]如 果做了上一步,那么就不需要嵌入manifest了,去掉CONFIG+= 后面的embed_manifest_dll embed_manifest_exe
    • VC默认是“将wchar_t 视为内置类型”的,所以建议去掉-Zc:wchar_t-, 否则以后用到一些与wchar_t有关的函数(如fromWCharArray)时,就要在项目属性里设置“将wchar_t视为内置类型”为No了)。
  6. 进入“Visual Studio 2005 命令提示”,其它版本的VC也一样。
  7. 进入解压的地方,比如我的: cd d:\qt451\qt-win-opensource-src-4.5.1。(小提示,在控制台里输入前几个字符再按tab 键,可以自动填充路径、文件名,MS在向Linux Shell学习?)
  8. 键入命令configure -prefix d:\qt451\static -debug-and-release -static -opensource -no-qt3support -no-dbus -no-phonon -no-webkit -qt-gif -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg
    • 输入configure -help可以显示所有选项的帮助信息,上面是我用的选项,解释一下:
    • -prefix 路径名 编译后的安装路径
    • -debug-and-release 编译Debug和Release版本
    • -static 编译静态库,如果不指定,默认为编译成DLL
    • -opensource 使用LGPL协议,如果不指定也行,configure运行后会问的
    • -no-qt3support 不用编译与QT3兼容的一些废弃函数,如果你比较熟悉QT3,还是去掉它吧
    • -no-dbus 不用链接到DBus库,这个库偶好像在Linux里看到过,Windows里不用。
    • -no-phonon 同上,不要链接
    • -no-webkit 是否编译Web相关的一些QT子库,加上这个可以省不少编译时间,就看你是否准备用这些库了。
    • -qt-gif 使用QT自带的gif库
    • -qt-zlib 使用QT自带的zlib库
    • -qt-libpng 使用QT自带的libpng库
    • -qt-libmng 使用QT自带的libmng库
    • -qt-libtiff 使用QT自带的libtiff库
    • -qt-libjpeg 使用QT自带的libjpeg库
  9. configure可能要花几分钟时间,成功后再输入nmake开 始编译,编译会花去大概1小时(和配置有关啦,我是以我的老爷机为参考的)。
  10. 输入nmake install
  11. 如果没出错的话,“QT成品”就已经在我们之前建立的成品路径里了(我的是d:\qt451\static
  12. VC只需要成品路径里的东东就够了,如果你想,可以删除解压的那些源代码省点空间。

测试是否成功

  1. 打开VC
  2. 新建项目
  3. 设置项目属性
    1. 配置属性->C/C++->常规->附加包含目录:D:\qt451\ static\include
    2. 配置属性->C/C++->代码生成->运行时库:多线程调试(/MTd),这 条依据你当时修改qmake.conf的情况决定
    3. 配置属性->链接器->常规->附加库目录:d:\qt451\static\ lib
    4. 配置属性->链接器->输入->附加依赖项:qtmaind.lib QtCored4.lib QtGuid4.lib,如果要编译Release,把后面的d去掉。

代码:

  1. #include <Qt/QtGui>
  2. int APIENTRY _tWinMain(HINSTANCE hInstance,
  3. HINSTANCE hPrevInstance,
  4. LPTSTR    lpCmdLine,
  5. int       nCmdShow)
  6. {
  7. QApplication app(__argc, __argv);
  8. QLabel *label = new QLabel("Hello Qt!");
  9. label->show();
  10. return app.exec();
  11. }

:如果编译的是动态库,那么要把QT成品里的bin目录加入path系统变量,或者把这里用到的DLL复制到与你的程序相同的目录里,一般是 QtCore4.dll和QtGui4.dll(Debug版为QtCored4.dll和QtGuid4.dll),依你使用的子库而定

转载于:https://www.cnblogs.com/huangliujing/archive/2009/08/08/1541987.html

我的QT4.5编译流水帐(转帖)相关推荐

  1. 关于流水帐表序列号生成时的并发操作问题

    关于流水帐表序列号生成时的并发操作问题 1.某些流水张表的序号不是而是带有一定规则的,   如:四位的年份+2位周数+7位数字的序号       2007130000002.   假定表的定义如下: ...

  2. IP 库的那些事儿之 2013 - 2014 流水帐版

    @高春辉 2014 年 11 月 好吧,我先承认我写这篇文章的目的之一是希望各位能重视 IP 库,而不是某个开发人员随便从某些地方就下载一个用然后万年不更新,或者虽然更新,但是 IP 库本身不准确,导 ...

  3. 旧文重发:IP 库的那些事儿之 2013 - 2014 流水帐版~

    重发前言:这篇文章是我在开始做 IP 库后的第一篇相关的文章,是我到现在为止,阅读量最大的文章,也是让这个事情直接上了一个台阶的文章,在这个文章发布之后的一个月内,我们增加了 60 多个客户.其实拿现 ...

  4. 2008中国软件技术英雄会上海站流水帐

    由于日程安排的原因,没能参加4月份的英雄会,这一次上海站的活动又一次收到邀请,加上正好这一周要回家,算是有点顺路,就决定参加一下.跟去年一样,回来记流水帐. 出发前,在英雄会网站和论坛上有幸遇到同去参 ...

  5. 关于系统中的流水帐号

    本文主题是写一个系统内部各个表中通用的存储过程,返回一个为各个表通用的流水帐号 --第一步 -- 建立一个通用的表结构,用来存储系统中的各个表的名字,主键,以及该表的开头的字符,和该表当前最大的值 c ...

  6. 爆笑三国故事:张飞流水帐51-60

    连着几天阴雨,道路泥泞,蜀道本来就难走,这下更不好走了.有一天我看到一个探子,四处找工匠做一副高跷,我觉得很奇怪,就过去问他,那探子愁眉苦脸地对我说:将军有所不知,现在那路上一脚下去能带起五斤泥,根本 ...

  7. 暴笑三国之张飞的流水帐

    (一) 我写这个流水帐的时候,大哥和二哥都在睡觉,军师也在睡觉. 赤兔马站在我窗外,也在睡觉. 小时侯我就研究马为什么会站着睡觉,研究了很长一段时间后,我发现没有答案.而苦恼的是我的童年唯一能记起的事 ...

  8. 我的招行1999新加坡之旅--流水帐

    我的1999新加坡之旅--流水帐 第1天 广州-新加坡 航班:南航CZ353(1910/2305 广州白云国际机场/新加坡樟宜国际机场). 搭乘晚班机前往东南亚最美丽的花园城市――新加坡.它是东南亚治 ...

  9. 蝉游记创业一周年流水帐

    去年2月份,朋友推荐了@纯银V的这篇[url=http://firecacada.blog.163.com/blog/static/707437620121802010410/]找技术合伙人[/url ...

最新文章

  1. 无法删除文件,文件或目录损坏且无法读取的解决
  2. R语言ggplot2可视化:在选定数据点周围添加圆圈(Add Circles Around Select Data Points)
  3. windowSoftInputMode属性详解
  4. 论文 参考文献的格式说明
  5. android开发ui插件下载,TKUISDK-ANDROID
  6. SpringBoot—数据库初始化脚本配置
  7. android unity hid,Unity5.X与Arduino交互
  8. java对列表数据排序_如何在Java中对列表进行排序
  9. Computing Platform------系统平台及其系列
  10. InfluxDB读写性能测试
  11. atitit 常见个人与企业与组织机构的信息化.docx
  12. 修改本地的hosts文件配置域名
  13. 知行之桥EDI系统30天试用导航
  14. 暮光之城3蓝光BD高清下载
  15. RSAC2020的PPT下载
  16. 解决redhat vmware安装后鼠标不能使用问题
  17. 数值分析Guass分解——错误讨论
  18. linux用户态定时器,一种基于linux用户态调用定时器的方法及系统的制作方法
  19. 精选目标检测3——yolo1、yolo2、yolo3和SSD的网络结构汇总对比
  20. 计算机博弈之国际跳棋入门-规则篇

热门文章

  1. JPG各种输入框样式
  2. 利用MYSQL的函数实现用户登录功能,进出都是JSON(第一版)
  3. 小程序开发实战学习笔记
  4. 母校/母语/母公司怎么说?
  5. Uploadify——学习(1):在Struts2的使用
  6. 自适应/响应式网页设计
  7. WebDriver 小毛笔记(二)准备工作
  8. Oracle如何精确计算row的大小
  9. github的角色和人员结构
  10. android toolchain maintain team