自己编译好了 QT 5.6.0 Alpha 版本后,如何使用 VS2015 创建 QT 工程呢?

1、安装插件,安装失败!因为 VS2015 不再支持 ADDIN , 所以 QT-VS-ADDIN 只能支持到 VS2013

2、使用 QtCreator , 这个不习惯使用,而且速度慢

3、自己动手

第一个想法是在编译工程之前,遍历工程文件找出需要的文件,使用 uic、moc 编译出对应的文件,然后就可以正常编译了

但是该如何做呢?碰巧想起 CUDA 的安装教程里面就有关于 VS2010 的自定义文件类型如何编译的说明,因此找到

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations 目录,里面有 MASM 的自定义编译过程配置文件

MASM.props MASM.targets MASM.xml 三个文件

因此照做,配置了 UI 文件如何生成 ui_*.h , ts 如何生成 *.qm ,以及 *.h 生成 moc_*.h,这些配置文件参考下文

在“解决方案资源管理器”中的工程上右键,选择“生成依赖项”/“生成自定义”列表中可以看到 QUI、QMO、QTS这三项,选中这三项,点击确定按钮

然后添加 ui 或 ts 文件到工程中,这些文件就可以在编译预编译头之前进行 uic 或者 lrelease 编译了,

对于 .h 文件,需要手工在文件的属性里面修改“项类型”为“QT MetaObject Header”,这不影响打开头文件进行编辑,识别类型定义,仅仅是编译时不再是普通头文件,而是可以进行 moc 的文件,因此只需要在类型中有 Q_OBJECT 定义的头文件修改为“QT MetaObject Header”;

编译工程时,首先编译 ui 、ts和需要的头文件,然后是预编译头,然后是工程中的文件

对于工程中的文件需要注意,例如 在 AppOutput.cpp 文件中,需要

#include "AppOutput.h"
#include "ui_AppOutput.h"
#include "moc_AppOutput.h"

如果有 ui 文件,那么就需要第二行,如果头文件中有 Q_OBJECT ,那么就需要第三行

编译,连接,OK,不需要插件也能正常编译 QT 工程了;

需要注意的是,需要在工程文件所在的位置创建一个目录 .GenerateFiles ,用来存放生成的 ui_*.h 和 moc_*.h 以及 qm 文件

配置文件下载连接:http://files.cnblogs.com/files/WonKerr/BuildCustomizations.zip

或者直接下载

备注:已经更新了自定义生成工具的配置文件,不需要手工创建 .GenerateFiles 目录了;

Visual Studio 2015 自定义文件编译的更多相关文章

  1. Win 7 x64 + Visual Studio 2015为WinXP编译可执行程序

    造冰箱的大熊猫@cnblogs 2019/9/5 本文承接<Win7下使用Visual Studio为WinXP编译可执行文件>一文. - 在64位Win7(开发机)上,编写基于C的Win ...

  2. Xamarin.Forms教程下载安装Visual Studio 2015

    Xamarin.Forms教程下载安装Visual Studio 2015 下载安装Visual Studio 2015 Visual Studio 2015是微软提供的IDE,其中集成了Window ...

  3. 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法

    1,到官网下载最新的boost,www.boost.org 这里我下载的1-63版本. 2,安装,解压后运行bootstrap.bat文件.稍等一小会就OK. 3,编译boost库.注意一定要使用VS ...

  4. [No0000AB]用Visual Studio 2015在 WIN10 64bit 上编译7-zip (32 bit)

    1.7-ZIP简介 7-zip 是一款免费的压缩解压软件.ZIP格式的文件默认被苹果和微软支持,完全不需要额外安装其他软件就可以解压.但对于非US-ASCII编码的文件名和大于2GB的ZIP文件,可能 ...

  5. Visual Studio 2015的坑:中文字符串编译后成乱码

    (2015年8月5日更新:微软已经修复了Roslyn的这个bug,详见 https://github.com/dotnet/roslyn/pull/4303 ) 昨天,我们用VS2015编译了博客程序 ...

  6. Visual studio 2015程序转Eclipse gun编译出现的问题总结

    Visual studio 2015程序转Eclipse gun编译出现的问题总结 1.C++11支持 1)Project settings project右键-> c/c++ build -& ...

  7. Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

    尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...

  8. Visual Studio 2015编译wxWidgets

    宫指导说,换帅如换刀 程序员的编译器一换,基本套路必须都重练几次 使用wxWidgets并不难,但不能使用现有的库和工程配置文件,细节就必须理清楚 获取wxWidgets 官方的下载页面,下7z或zi ...

  9. Visual Studio 2015 编译错误 File 的值+乱码的解决方法

    ======================================== VS2015调试项目时,会报莫名奇妙的错误,如下图所示: 程序编译,提示有错误:Visual Studio 2015 ...

随机推荐

  1. 详解Android中那些酷炫返回方式的实现

    Android手机都会有返回键,不管是实体键,还是虚拟键.Android用户主要也都是通过这个返回键操控页面返回方式的,不比IOS逼格甚高的只保留一个操作键.这种方式是最普遍的返回方式,还有一种也是比 ...

  2. mysql主从复制原理及实现

    一.主从复制原理 利用MySQL提供的Replication,其实就是Slave从Master获取Binary log文件,然后再本地镜像的执行日志中记录的操作.由于主从复制的过程是异步的,因此Sla ...

  3. 关于Xcode正确运行swift多线程

    想跳过废话直接看解决方案的可以点击这里直接跳转,我这人写博客喜欢瞎逼逼. 还有一些我看过的不错的多线程资料,在此给出链接,点击这里直接跳转查看. 近来为了做操作系统课程设计,不得不去学习了下多线程. ...

  4. 各种MQTT server功能比較

    this page attempts to document the features that various MQTT servers (brokers) support. This is spe ...

  5. ParameterizedThreadStart,ThreadStart的使用,线程Thread传参数

    Thread threadWithParam = new Thread(new ParameterizedThreadStart(new ThreadTest().ShowMsg));//thread ...

  6. poj_2773

    题目的愿意非常easy.给你一个n,求在升序排列的情况下,第k个与之相互素的数. 解法:首先我们要知道gcd(b×t+a,b)=gcd(a.b),那么接下来就非常easy了.全部与之互素的数都是以ph ...

  7. nodejs 中使用shell脚本

    虽然nodejs的require('child_process').execSync可以使用shell,但其实问题特别多.尤其是符号和语法冲突,可读性也很差,只能完成一些小规模的shell使用. co ...

  8. Web檢測

    腾讯电脑管家http://guanjia.qq.com/online_server/webindex.html 安全联盟http://zhanzhang.anquan.org/physical/my_ ...

  9. windows server 2003中端口默认不能使用问题

    问题:在windows server 2003中IIS6.0新建站点,给了一个新端口(非80),然后配置好后不能访问 解决方案:系统内置防火墙需要添加对应端口,如下图:     即解决.

  10. zookeeper综述

    zk概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.他主要用来解决分布式应用中的数据管理的一 ...