使用VisualStudio2015开发QT项目
一直习惯用VS,做QT项目时,不停的来回切IDE有些不方便。研究了一下QT的编译。
实际QT编译的机制和cmake是相同的,QT的IDE使用pro文件进行项目管理。QMake通过解析pro工程文件,生成makefile进行工程编译。调试QT IDE自身没有调试工具,正常情况下会使用GUN的GDB或VS的CDB等一些外部调试器进行调试的。
实际QT的IDE就是一个外部工具的开发集成环境。可以完全抛开QT的IDE开发QT项目。
方法: 设置的方法是把QT中的命令使用VS中MakeFile工程替换处理。 提示: 这里介绍的不是使用QT插件转换QT工程这种方式
正常情况下完全可以写一个批处理,编译时直接执行一次。不过在VS中编译主要一个好处,编译的警告和错误信息可以双击定位。如果不需要看警告和错误信息,也可以直接使用批处理命令进行编译。
1. 安装QT插件
- a) 可以转换QT工程
- b) 在调试时能看到QT类型的变量信息
菜单:Tool->Extensions and Updates…

2. 使用QT插件转换工程
导入QT工程的目的是用于编辑,为了减少配置量。如搜索路径,自能提示和代码跳转,需要正确的源代码目录。
问题:
a、 插件工程导入会有些问题,中文不认识会变成??
b、 有绝对路径设置的,可能会出现错误处理:
直接使用记事本打开VS的工程,删除即可。
3. 创建编译工程
这步用于取代Qt中的编译处理。
a、 创建MakeFile工程

b、 配置编译路径(Intermediate Directory)
- a) 右击工程->选择工程属性菜单
- b) 选择 通用->设置 中间路径(构建目录) 和 QT中设置的构建目录一致
设置中间路径目的是为QMake生成的Makefile到指定目录。不设置默认会生成在工程目录(可以正常使用)

- c、 设置调试工程
- a) Command 直接指向调试exe

- d、 设置编译NMake
实际编译命令即为QT中的编译命令组合,VS中多条命令之间使用 && 进行连接
如:编译 moguf.pro
. Qmake工程
.联编
qmake.exe D:\moguf\code\moguf.pro -r -spec win32-msvc2010
"CONFIG+=debug" && cd /d D:\moguf\make &&
E:\Qt\Tools\QtCreator\bin\IncrediBuild.bat
其他命令清除、重新编译依次设置。清除命令对应 QT清除步骤设置。重编命令就是 清除命令 + 编译命令

- e、 设置完成
4. 编译运行(OK)
- a) 设置MakeFile工程为启动工程
- b) 运行调试
在输出窗口就能看到Bulid信息,错误窗口可以看到编译错误和警告(双击可以定位到代码)。

使用VisualStudio2015开发QT项目的更多相关文章
- Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)
Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码) 转 https://blog.csdn.net/lhl1124281072/article/details/800 ...
- Go推出的主要目的之一就是G内部大东西太多了,系统级开发巨型项目非常痛苦,Go定位取代C++,Go以简单取胜(KISS)
以前为了做compiler,研读+实现了几乎所有种类的语言.现在看语法手册几乎很快就可以理解整个语言的内容.后来我对比了一下go和rust,发现go的类型系统简直就是拼凑的.这会导致跟C语言一样,需要 ...
- Objective C (iOS) for Qt C++ Developers(iOS开发,Qt开发人员需要了解什么?)
Qt/C++开发人员眼中的Obj-C 对于我们第一次自己定义iOS应用来说,对于来自Qt/C++开发人员来说,我不得不学习Objective-C相关语法与知识 为了让读者可以更easy理解这 ...
- 【golang-GUI开发】项目的编译
在上一篇文章里,我们讲到了安装therecipe/qt(https://www.cnblogs.com/apocelipes/p/9296754.html),现在我们来讲讲如何编译使用了thereci ...
- VA对于开发QT是神器,VA自动补全QT
我怎么就忘了,VA也可以适用于VS下开发QT程序.其中QT的头文件自己增加,主要是: C:\Qt\4.8.6_2008\include 但还有一些特殊类不认识,所以还得继续增加: C:\Qt\4.8. ...
- 封装QtCore(在非Qt项目里使用QString,QJson,QFileInfo,QFile等类)
单独封装QtCore 一直以来使用QT的特性使用惯了,很多东西QT都封装得很好.如果突然有一天,不使用QT开发了,是不是不习惯. 比如我们经常使用QString很多方法,string,wstring之 ...
- 用CMake 构建Qt 项目
译:用CMake构建Qt项目作者: Johan Thelin 译者:赖敬文原链接:http://developer.qt.nokia.com/quarterly/view/using_cmake_t ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- C语言可以开发哪些项目?
C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中--,这些迷茫也导致了我们在学习的过程 ...
随机推荐
- Git之原有基础开发新功能
场景描述 当一个项目已经上线,同时又在原有基础上新增功能模块,于是乎就要在原有代码的基础上进行开发,在新增模块功能的开发的过程中,项目发现了一个紧急Bug,需要修复.操作流程如下:
- Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper
引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...
- 【BZOJ】3160: 万径人踪灭 FFT+回文串
[题意]给定只含'a'和'b'字符串S,求不全连续的回文子序列数.n<=10^5. [算法]FFT+回文串 [题解]不全连续的回文子序列数=回文子序列总数-回文子串数. 回文子串数可以用回文串算 ...
- python模块-logging的智商上限
logging,故名肆意就是正在进行日志,我艹,这个文化底蕴! logging是python内置的日志模块,便于日常程序的日志写入和输出 logging共分为5个日志等级,分别是: debug , i ...
- 【译】第六篇 SQL Server代理深入作业步骤工作流
本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...
- UNIX环境高级编程 第16章 网络IPC:套接字
上一章(15章)中介绍了UNIX系统所提供的多种经典进程间通信机制(IPC):管道PIPE.命名管道FIFO.消息队列Message Queue.信号量Semaphore.共享内存Shared Mem ...
- jQuery和Prototype的兼容性和冲突的五种解决方法
第一种情况:先加载Prototype,再加载jQuery方法一:jQuery 库和它的所有插件都是在jQuery名字空间内的,包括全局变量也是保存在jQuery 名字空间内的. 使用jQuery.no ...
- 关于maven环境下使用pom.xml引入包名.lastUpdate包的解决办法
今天在导入POI-OOXML的时候总是缺失xmlbeans包,而且刷新pom文件总是生成一个lastupdate文件,大小为1KB,终于找到解决办法. 1.首先删除想要的jar包所在文件夹内的所有 . ...
- 冲量:momentum
参见:http://www.jianshu.com/p/58b3fe300ecb,这个博客里有冲量的python实现的代码和讲解 “冲量”这个概念源自于物理中的力学,表示力对时间的积累效应. 在普通的 ...
- Linux下C程序的反汇编【转】
转自:http://blog.csdn.net/u011192270/article/details/50224267 前言:本文主要介绍几种反汇编的方法. gcc gcc的完整编译过程大致为:预处理 ...