paip.gch预编译头不生效的原因以及解决:

paip.gch预编译头不生效的原因以及解决:


作者Attilax ,  EMAIL:1466519819@qq.com 


来源:attilax的专栏


地址:http://blog.csdn.net/attilax


现象:

debug时候GCH生效..release时候不生效..
要注意将太多类型包含到一个头文件中引入的额外的问题:编译后的程序文件会变大,因为不要的类型也会被链接到可执行文件中。对于一些客户端软件,应注意这个不良影响。




原因:

4、加入在源码中引用使用了预编译的all.h,编译器在引入all.h的时候,会检查all.h的同一目录下是否有all.h.gch,如果有,再检查GCC的编译选项(及其编译命令行中定义的宏)与预编译头文件时候的参数是否一致。仅仅只在编译参数完全一致(顺序无关)的情况下,预编译的gch文件才会生效。




解决: 
//
以release参数在编译个gch..
设置release step.,,加个step.替换到 release gch头..
也要设置个debug step ...替换到debug gch..  rename 方式比较好。




参考:

gcc 预编译头文件的一些注意事项_阿福的技术BLOG_百度空间.htm
使用gcc的预编译头文件 - 一起去听海 - 博客频道 - CSDN.NET.htm
posted @ 2013-10-07 21:43  attilaxAti  阅读(38)  评论(0编辑  收藏  举报