首页| 论坛| 消息

标题:请问 如何只编译有改动的文件?
作者:yfx2003
日期:2006-05-16 23:00
内容:

请问 如何只编译有改动的文件?
整个工程中的文件很多,每次
qmake
make
都很浪费时间,如何象 kdevelop 一样,只对有修改的文件进行编译,其他文件不在编译?
另:如何在编译文件的选项中添加 -Wno-deprecated选项以去除对 iostream.h 这样的头文件的警告?我在 project - project settings - c++ - config 中添加了但是没有作用啊?!!


#1 [XChinux 05-16 23:32]
只编译修改过的文件。Makefile其实就是这种机制。
除非你改动整个工程的配置,否则不用每次qmake -project的(而且简单的qmake命令并不能保证你的工程的配置正确,所以在第一次生成.pro文件后,以后在增加文件,改动配置时,最好自己手动修改.pro文件),只要工程文件未修改,则就不用qmake,那么Makefile就没变,你就直接make就行了,它只编译修改过的文件,最后做链接。
#2 [yfx2003 05-17 09:23]
只编译修改过的文件。Makefile其实就是这种机制。
// yfx2003 这个机制我知道,确实是可以的.
除非你改动整个工程的配置,否则不用每次qmake -project的(而且简单的qmake命令并不能保证你的工程的配置正确,所以在第一次生成.pro文件后,以后在增加文件,改动配置时,最好自己手动修改.pro文件)
// yfx2003 这与qt中关于文件配置的说法不符吧?有.pro文件后,在有新文件会自动添加到pro中去的,qmake自然修改了Makefile;但是,我将自己文件make后再次make,仍然是全部make了!
Makefile就没变,你就直接make就行了,它只编译修改过的文件,最后做链接。
// Makefile应该没变。为什么呢?
#3 [XChinux 05-17 09:38]
我是说,只要你的.pro没变,就不用qmake,也就不再生成Makefile
#4 [myer 05-17 09:56]
即便makefile变了,如果相应的obj是最新的话,也不会重新编译的
除非编译依赖的库、头文件变了,或者,这些文件的日期晚于系统当前日期

回复 发表
主题 版块