Visual Studio 2015 自定义文件编译
自己编译好了 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 自定义文件编译的更多相关文章
- Win 7 x64 + Visual Studio 2015为WinXP编译可执行程序
造冰箱的大熊猫@cnblogs 2019/9/5 本文承接<Win7下使用Visual Studio为WinXP编译可执行文件>一文. - 在64位Win7(开发机)上,编写基于C的Win ...
- Xamarin.Forms教程下载安装Visual Studio 2015
Xamarin.Forms教程下载安装Visual Studio 2015 下载安装Visual Studio 2015 Visual Studio 2015是微软提供的IDE,其中集成了Window ...
- 新手,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 ...
- [No0000AB]用Visual Studio 2015在 WIN10 64bit 上编译7-zip (32 bit)
1.7-ZIP简介 7-zip 是一款免费的压缩解压软件.ZIP格式的文件默认被苹果和微软支持,完全不需要额外安装其他软件就可以解压.但对于非US-ASCII编码的文件名和大于2GB的ZIP文件,可能 ...
- Visual Studio 2015的坑:中文字符串编译后成乱码
(2015年8月5日更新:微软已经修复了Roslyn的这个bug,详见 https://github.com/dotnet/roslyn/pull/4303 ) 昨天,我们用VS2015编译了博客程序 ...
- Visual studio 2015程序转Eclipse gun编译出现的问题总结
Visual studio 2015程序转Eclipse gun编译出现的问题总结 1.C++11支持 1)Project settings project右键-> c/c++ build -& ...
- Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...
- Visual Studio 2015编译wxWidgets
宫指导说,换帅如换刀 程序员的编译器一换,基本套路必须都重练几次 使用wxWidgets并不难,但不能使用现有的库和工程配置文件,细节就必须理清楚 获取wxWidgets 官方的下载页面,下7z或zi ...
- Visual Studio 2015 编译错误 File 的值+乱码的解决方法
======================================== VS2015调试项目时,会报莫名奇妙的错误,如下图所示: 程序编译,提示有错误:Visual Studio 2015 ...
随机推荐
- JavaScript-CasperJs使用教程
如果是类似12306这种网站的话, 必须使用--ssl-protocol=any --ignore-ssl-errors=true选项, 例如 casperjs --ssl-protocol=any ...
- Apache服务器配置https协议/SSL证书的方法
转载于:http://www.server110.com/apache/201309/1542.html
- JiaThis™“分享到”侧栏代码
风格:迷你: 猜你喜欢: 开启 使用说明: 复制并粘贴下面的JS代码,放到您的网页,可以在<body>和</body>的之间网页的任意位置放置.如果您的网站使用的模板, ...
- C# 取字符串中间文本 取字符串左边 取字符串右边
好像是第二种效率高一点,取str字符串中123左边的所有字符:第一种Between(str,"","123"),而第二种是Between(str,null,&q ...
- LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt 解决方法: 项目--> ...
- GTD实用指南(转载)
时间管理第一层:记录每日时间开支,认识自己的时间黑洞.你会惊讶地发现,每天的无意义时间很可能在70%以上. [避开时间黑洞的小策略:1.彻底关闭聊天工具:2.关掉邮件的到达提醒功能:3.保持办公环境的 ...
- jsp自己主动编译机制
总的来说,Jasper的自己主动检測实现的机制比較简单,依靠某后台线程不断检測JSP文件与编译后的class文件的最后改动时间是否同样,若同样则觉得没有改动.但倘若不同则须要又一次编译.实际上因为在T ...
- C++ - 派生类强制转换为基类
派生类强制转换为基类 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24268821 在多态的使用时, 派生类的指针或引用能够转换 ...
- 如何在mysql下实现事务的提交与回滚
最近要对数据库的数据进行一个定时迁移,为了防止在执行过程sql语句因为某些原因报错而导致数据转移混乱,因此要对我们的脚本加以事务进行控制. 首先我们建一张tran_test表 CREATE TABLE ...
- Mysql的replace into语句
Mysql语句 replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删 ...