(这适用于Qt
>= 4.7.3 的版本。)我尝试Qt
在我的 Debian 机器上使用自定义参数进行构建,实际上需要很长时间才能编译(IIRC 在单核 CPU 上超过 6 小时)。这就是为什么我想确保在这个过程中我不会犯任何愚蠢的错误。但是,我选择在成功链接后清理文件和其他内容make clean
。*.o
这似乎是个坏主意!因为我make install
在那之后做了一次,你不会相信,这次make clean
尝试导致了一切清理过程后重新编译!尽管到目前为止,我一直认为make clean
即使删除了所有目标文件和相关内容,也确实可以进行整洁的安装。显然,有了Qt
,事情就不同了。
在官方文档中Qt 4.7
(参见http://qt-project.org/doc/qt-4.7/install-x11.html),他们甚至没有提到选修的 make clean
按照命令的顺序。据我现在所知,这是有充分理由的。尽管如此,我不能称之为“遵守标准”,因为我已经编译了数百个开源应用程序,并且从未make clean
触发任何重新编译过程,也没有删除任何应该保留的内容(除非其中存在错误) )
答案1
我不知道你从哪里得到这样的想法:在 amake clean
之前做 amake install
是你应该做的事情。
自动工具的规范INSTALL
文件详细说明了该过程:
./configure
make
make check
(选修的)make install
make installcheck
(选修的)
在第 6 项中,它说:
您可以删除程序二进制文件通过键入 . 和来自源代码目录的目标文件
make clean
。
(强调我的。)
make clean
是您在重新编译之前要做的事情,以确保获得干净的构建并且没有以前运行留下的副产品。你能行的后amake install
如果您想释放一些空间但保留源代码和配置。你应该不是在安装之前执行此操作。
答案2
Qt 构建脚本的工作原理如下:
1 First build qmake
2 Generate Makefile for a subprojects (*.pro)
3 Start building libaries, then examples and demo projects
是的,make clean 将清除除 Qt 生成的配置文件之外的所有内容。
我的技巧是删除顶部 *.pro 文件中的“demo”和“examples”,这样可以节省大约 40% 的时间(在 i5 CPU 上)
不管怎样,你可以设置ccache来加速编译,但这需要大约2G+的磁盘空间用于缓冲