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 ...
随机推荐
- Android双向seekbar
※效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/disso ...
- 【Linux】Ctentos下载
百度输入:Download Centos 在百度搜索Download Centos然后进入Centos下载官网 点击上述标记的Download Centos,则会出现如下界面,并且点击"Mo ...
- ThreadLocal源码
/* * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...
- html调用摄像头的方法汇总
1.在PC端打开摄像头的方法:(移动端不能使用) 能够实现打开摄像头并截图 <!doctype html> <html lang="en"> <hea ...
- access denied XXXXXXXXXXXX
这个异常是做支付的时候出现的,貌似是没有权限访问之类的,网上查了有N个解决的办法,我写一下我解决的办法吧....... 出现的异常具体: java.security.AccessControlExce ...
- KVC之-setValue:forKey:方法实现原理与验证
KVC之-setValue:forKey:方法实现原理与验证 - (void)setValue:(id)value forKey:(NSString *)key方法,实现原理与验证 功能:使用一个字符 ...
- 解决/usr/bin/ld: cannot find -lssl
一般情况下,-lssl表示要寻找库 libssl.so, 而上面的错误表示ld找不到这个库,一般情况下,原因是系统中没有安装这个库,只要安装就好了. 可以先使用sudo apt-cache searc ...
- 重启tomcat但是session仍然有效的解决方法
参考:http://www.blogjava.net/freeman1984/archive/2010/03/30/316901.html server.xml,在你的webapp的Context节点 ...
- JdbcTemplate中的exectue和queryForList方法的性能对比
@Autowired JdbcTemplate jdbcParam; pstm = jdbcParam.getDataSource() ...
- PHP——smarty模板(做登录页面和主页面)
denglu.php <?php include "init.inc.php"; $smarty->assign("action","ma ...