zoukankan      html  css  js  c++  java
  • 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)MSBuildMicrosoft.Cppv4.0V140BuildCustomizations 目录,里面有 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 目录了;

  • 相关阅读:
    【Python五篇慢慢弹(3)】函数修行知python
    【Python五篇慢慢弹】数据结构看python
    【项目管理】GitHub使用操作指南
    【Python五篇慢慢弹】快速上手学python
    【NLP】十分钟快览自然语言处理学习总结
    【NLP】条件随机场知识扩展延伸(五)
    【NLP】基于统计学习方法角度谈谈CRF(四)
    【NLP】基于机器学习角度谈谈CRF(三)
    【NLP】基于自然语言处理角度谈谈CRF(二)
    【NLP】前戏:一起走进条件随机场(一)
  • 原文地址:https://www.cnblogs.com/WonKerr/p/VS2015_QT_BUILD.html
Copyright © 2011-2022 走看看