版本及安装环境

项目 版本
Windows 7 x64
Visual Studio 2010 x64
qt 4.8.6 x64

下载源码

进入下载列表,下载qt-everywhere-opensource-src-4.8.6.zip并解压缩到:C:\Qt\4.8.0x64\4.8.0x64 目录可以任意,不过比较好的方式是把所有版本的QT都放在一个主目录下,然后再细分。


编译

  1. 开始菜单搜索Visual Studio x64 Win64 Command Prompt (2010)并运行 

  2. 定位到qt源码目录 注意windows切换盘符的指令是D: 如果在C盘则直接定位cd C:\Qt\4.8.0x64\4.8.0x64 

  3. 配置项目 configure有很多参数可以选择,使用命令--help可以查看,我们为了快速,减少错误发生。采取下面的命令行参数:
    bash configure -fast -debug-and-release -no-webkit -no-script -no-qt3support -nomake demos -nomake examples -nomake这里注意,webkit这个我们不编译,编译它非常耗时而且会出现一些错误,另外注意-debug-and-release,debug版本一定要编译,否则vs编译项目的时候会显示有一些debug版本的库无法打开。 确认后有两个选项需要选择: 1.qt的版本,商用还是开源,我们选择o 2.是否同意许可。必须同意y

  4. 编译 配置完成后,执行nmake开始编译 

  5. 编译install

    执行nmake install

  6. 清理配置
    把 qmake.cache(和configure.cache)备份到别的地方后,执行nmake confclean

  7. 清理中间文件
    nmake clean


配置qt-vs-addin

这个自己下载安装就行了:下载

安装完成后进行配置:

  • 选择Qt Options进行设置
  • 添加QT版本

    注意路径选择根目录即可,插件会自动进入bin目录寻找qmake,这里我们选择默认的版本是4.8.0x64。大家也可以自己起一个比较好记忆的名字。
  • 添加环境变量 把bin文件夹路径添加到环境变量里面C:\Qt\4.8.0x64\4.8.0x64\bin
  • troubleshooting

The following error occured: There's no Qt version assigned to this project for platform Win32. Please use the 'change Qt version' feature and choose a valid Qt version for this platform.

编译的时候出现这个错误说明QT版本有问题,右键solution,选择Change Solution's QT Version,然后重新选择一下QT版本即可。对我来说,如果要编译win32则选择4.8.0,如果编译x64则选择4.8.0x64


配置QT Creator

点击工具--选项,进入设置界面,把所有的QT版本都加入即可(类似vs),此处路径需要进入bin文件夹选择qmake,这里和vs不太一样。 

在进行编译之前,针对不同的版本,在构建套件中选择合适的QT版本 

 

Qt编译的更多相关文章

  1. osg,qt编译的一些问题

    osg编译例子的时候,打开文件就出问题,可能是一些不兼容的问题 qt编译的是时候要添加qt和vs2010的整合工具,这样才能把 vs2010里面的QTDIR变量和环境变量QTDIR关联起来 同是右击文 ...

  2. Solaris 10下Qt编译Oracle 10g驱动

    上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...

  3. Qt编译安装后中文无法显示问题

    闲的蛋疼,把Ubuntu删了,再装10.04的时候,QT编译后运行自己的程序已经不能显示中文了,只能显示英文,字体贼丑... 想了各种办法,都没解决.. 最后:终于搞定: apt-get instal ...

  4. 让QT编译快一点(增加基础头文件)

    姚冬,中老年程序员 进藤光.杨个毛.欧阳修 等人赞同 我是来反对楼上某些答案的.我曾经用MFC写了金山词霸(大约20多万行),又用Qt写了YY语音(大约100多万行),算是对两种框架都比较有经验.纠正 ...

  5. Qt编译慢吗?

    1. “用Qt写的程序编译比MFC慢”的说法是错误的绝对错误,单位代码行数编译Qt远比MFC快得多,因为Qt库的头文件设计非常好,尽量都使用了前置声明,避免了头文件嵌套,几乎所有类都使用了公有类和私有 ...

  6. Qt编译时MinGW去掉对gcc动态库的依赖(去掉对libgcc_s_dw2-1.dll,libstdc++-6.dll的依赖)

    用Qt写点东西,我一般是下载官方的MinGW编译工具包,它有个不好的地方,经常还会多一些除了Qt库以外的其它的依赖动态链接库,比如:libgcc_s_dw2-1.dll,libstdc++-6.dll ...

  7. Qt编译oci教程

    Qt编译OCI教程 上图oci.dll 不是oci.lib 我很奇怪网上大部分教程都是写的oci.lib,其实大家可以去oracle目录找一下这个文件,看看是不是在这个目录,我找了一下没发现.而lib ...

  8. 关于QT编译错误问题

    这里的意思是出现QT编译错误: 1.之前编译没问题,突然就报错了,而且错误根本不知道啥玩意. 2.编译出现不能自动更新,比如更改ui但是编译之后没该改变. ... 解决方法: 1.删除Makefile ...

  9. qt 编译的文件没有生效

    /******************************************************************* * qt 编译的文件没有生效 * qt交叉编译时,生成的可执行 ...

  10. QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法

    QT编译发布程序后报错如缺少dll.“应用程序无法正常启动(0xc000007b)”的可能解决方法 最近项目要用qt,因为初学没有经验,遇到些小问题常常没什么头绪,也查不到解决方法,刚刚还因为低端错误 ...

随机推荐

  1. [Java]利用拦截器和自定义注解做登录以及权限验证

    1.自定义注解 需要验证登录的注解 package com.etaofinance.wap.common; import java.lang.annotation.Documented; import ...

  2. Ninject 在 Winform、 Asp.net MVC中连络EntityFramework的应用

    Ninject 在 Winform. Asp.net MVC中连络EntityFramework的应用( 注入同一个DbContext的应用名人名言:科学是老老实实的东西,它要靠许许多多人民的劳动和智 ...

  3. Effective C++(16) 成对使用new和delete时要采取相同的形式

      问题聚焦:     我们都知道,new和delete要成对使用,但是有时候,事情往往不是按我们预期的那样发展.     对于单一对象和对象数组,我们要分开考虑     遇到typedef时,也需要 ...

  4. ASP.NET MVC 中的视图生成

    关于 ASP.NET MVC 中的视图生成 在 ASP.NET MVC 中,我们将前端的呈现划分为三个独立的部分来实现,Controller 用来控制用户的操作,View 用来控制呈现的内容,Mode ...

  5. WCF基于MSMQ的事件代理服务

    前言 公司目前楼主负责的项目正在改版升级,对之前的服务也在作调整,项目里有个操作日志的模块,就决定把日志单独提取出来,做个日志服务,所以就有了这篇文章 正文 MSMQ作为消息队列,B/S项目调用日志服 ...

  6. twisted学习笔记 No.1

    原创博文,转载请注明出处 . 1.安装twisted ,然后安装PyOpenSSL(一个Python开源OpenSSL库),这个软件包用于给Twisted提供加密传输支持(SSL).最后,安装PyCr ...

  7. 【IOS开发】如何画1像素的线

    最近在项目中画了一根1像素的线,我是通过直接花一个但是通过PS查看,画了不止1个像素. 原代码语句: label1 = [[UILabel alloc] initWithFrame:CGRectMak ...

  8. 【转】Objective-C并发编程:API和挑战

    并发指的是在同一时间运行多个任务.在单核CPU的情况下,它通过分时的方式实现,如果有多个CPU可用,则是真正意义上的多个任务“并行”执行了. OS X和iOS提供了多个API支持并发编程.每个API都 ...

  9. AMQP(Advanced Message Queuing Protocol)

    一套确定的消息交换功能,也就是“高级消息交换协议模型”.AMQP模型包括一套用于路由和存储消息的功能模块,以及一套在这些模块之间交换消息的规则. 一个网络线级协议(数据传输格式),客户端应用可以通过这 ...

  10. c/c++中typedef详解

    1. typedef 最简单使用 typedef long byte_4; // 给已知数据类型long起个新名字,叫byte_4 你可以在任何需要 long 的上下文中使用 byte_4.注意 ty ...