• 预编译加速编译

QT也可以像VS那样使用预编译头文件来加速编译器的编译速度。首先在.pro文件中加入:

CONFIG += precompiled_header

然后定义需要预编译的头文件:

PRECOMPILED_HEADER = pch.h

其中pch.h头文件即为自定义的预编译头文件。

  • 指定临时文件生成目录,使项目文件夹更干净

QT默认情况下把所有的编译中间文件都生成到debug和release文件夹里。可以在.pro文件中加入:

MOC_DIR = tmp/moc

RCC_DIR = tmp/rcc

UI_DIR = tmp/ui

OBJECTS_DIR = tmp/obj

这样,编译时生成的临时文件就按不同类型分类放到项目下的tmp文件夹中了。

http://www.cnblogs.com/codingmylife/archive/2010/04/06/1704995.html

------------------------------------------------------------------------------------------------------------

情景一:今天在使用Qt设计界面的时候发现的一个问题,每修改一处代码,就要清理工程、重新构建才可以看到最新的效果

项目文件少还好,文件多了,每修改一下就要重新构建一次,特别浪费时间!

情景二:由于vc2013开始可以使用"#pragma execution_character_set("UTF-8")"来解决UTF-8编码问题,可是这句话放哪里呢?网上查一查,清一色的都说放在main函数前面,好吧,我放了,但是发现还是会存在乱码的问题。其实网上那些朋友搞错了一个概念,这个命令是在编译时产生作用的,而不是运行时,你放main函数前面根本就没用!你要放在编译器编译的第一个文件中头部,但是问题是你不确定编译器到底从哪个文件开始编译。。。

基于以上两个不便之处,预编译头文件的作用就显现出来了!

第一,把你项目中用到的标准库都放在这里,以后每次修改代码重新编译时就不用苦苦等待了。

第二,把#pragma等指令放在预编译头文件里可以保证编译器在编译项目文件的时候相关指令已经产生作用了!

使用方法很简单,只要在工程的.pro文件中加入一句即可,xxx.h是你的头文件名

PRECOMPILED_HEADER = xxx.h

成功后会在构建目录下多出一个工程名字的.pch文件(Windows平台)

http://m.blog.csdn.net/article/details?id=25006373

http://blog.csdn.net/aqtata/article/details/25006373

预编译加速编译(precompiled_header),指定临时文件生成目录,使项目文件夹更干净(MOC_DIR,RCC_DIR, UI_DIR, OBJECTS_DIR),#pragma execution_character_set("UTF-8")"这个命令是在编译时产生作用的,而不是运行时的更多相关文章

  1. git clone 指定的单个目录或文件夹

    git clone 指定的单个目录或文件夹 针对自己的项目 方法一 基于sparse clone变通方法 创建一个空仓库 拉取远程仓库信息 开启 sparse clone 设置过滤 更新仓库 创建空仓 ...

  2. Laravel 指定日志生成目录

    1.在config/logging.php 中, 创建自定义频道 2.使用时指定频道

  3. Makefile中的$(addprefix),添加前缀,指定目标生成目录

    先给大家看段Makefile的代码吧: INCLUDE_DIR=usr/java/jdk1..0_25/include \ usr/java/jdk1..0_25/include/linux INCL ...

  4. iOS 运行时runtime控制私有变量以及私有方法

    OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动 ...

  5. 【原】iOS动态性(二):运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)

    OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动 ...

  6. iOS动态性 运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)

    借助前辈的力量综合一下资料. OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是 ...

  7. xmake v2.6.1 发布,使用 Lua5.4 运行时,Rust 和 C++ 混合编译支持

    xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能 ...

  8. Java面试题问与答——编译时与运行时

    在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念.理解这几个概念可以更好地帮助你去了解一些基本的原理.下面是初学者晋级中级水平需要知道的一些问题. Q.下面的代码片段中,行A和行B所 ...

  9. Netsharp快速入门(之5) 基础档案(之D 实体建模 生成实体代码、同步数据库、配置插件运行时)

    作者:秋时 杨昶   时间:2014-02-15  转载须说明出处 3.3.1  同步数据库并生成dll文件 1.在基础档案和销售管理项目上右击,选择同步数据库结构来创建数据库表 2. 在基础档案项目 ...

随机推荐

  1. Linux限制资源使用的方法

    很多人说virmach不好,老是suspend,我从未被suspend过,建站也很稳定,所以我就来说说怎么操作(其实就是遵循他们的TOS,如果你是abusive user,滚粗): 先读读TOS,核心 ...

  2. error: expected declaration or statement at end of input----solved

    error: expected declaration or statement at end of input 解决方法: 1.程序缺少一个括号相应地 2.而不添加头文件 版权声明:本文博主原创文章 ...

  3. vmware合并多个虚拟硬盘文件(使用vmware-vdiskmanager.exe)

    有时,当我们创建虚拟机vmware里面的应用程序,我们可能会选择创建分割的虚拟磁盘中的多个文件2GB的文件,这是为了提高复制过程,主要用于存储虚拟机文件系统不支持创建更大的文件.还有种情况是虚拟化物理 ...

  4. 学术论文写作的 paper、code 资源

    (机器学习/计算机视觉/深度学习)代码 0. 核心期刊 Best paper awards at - CV NIPS: JMLR COLT & ICML(每年度的官网) 1. Computin ...

  5. 使用xtrabackup实现MySQL主从复制

    环境描写叙述 主从环境 项目 Master Slave OS版本号 SuSE 11sp1 x86_64 SuSE 11sp1 x86_64 MySQL版本号 官方版本号5.5.37 官方版本号5.5. ...

  6. 算法模型的 Motivations

    neurally-inspired biologically-inspired 1. CNN:biologically-inspired CNN(Convolutional Neural Networ ...

  7. matlab 警告(warning)、错误(error)、异常(exception)与断言(assert)

    0. 消息标识符(Message Identifiers) 消息标识符,是附加在 error 和 warning 语句上的一个标签,以被 matlab 做唯一性标识. warning 语句所支持的函数 ...

  8. 【winows7+android-ndk-r9+Cygwin 】cocos2dx 2.*游戏移植Android平台完全手册

    为了有不少走的弯路.这里简要记录cocos2d开发环境的搭建.android开发环境搭建.android NDK环境搭建.终于实现cocos2dx 2.* 游戏Android平台移植. 转载请注明出处 ...

  9. Base64实现测试,不要太相信apache-common的性能

    针对三种Base64实现: * 自已实现的 * JDK8的java.util.Base64 * apache-common的org.apache.commons.codec.binary.Base64 ...

  10. WPF控件获得焦点时去除虚线框

    原文:WPF控件获得焦点时去除虚线框 <Setter Property="FocusVisualStyle" Value="{x:Null}" />