构建 Qt:'make clean' 会导致重新编译所有内容吗?

syn*_*ror 2 linux compiling make software-installation qt

(这适用于Qt>= 4.7.3 的版本。)我尝试Qt在我的 Debian 机器上使用自定义参数进行构建,但实际上编译花了 AGES(IIRC 在单核 CPU 上超过 6 小时)。这就是为什么我想确保在这个过程中我不会犯任何愚蠢的错误。但是,我选择在成功链接后执行 amake 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触发任何重新编译过程,也没有删除任何应该保留的东西(除非那里有错误) )

Mat*_*Mat 7

我不知道你从哪里想到在 amake clean之前做amake install是你应该做的事情。

INSTALLautotools的规范文件详细说明了该过程:

  1. ./configure
  2. make
  3. make check (可选的)
  4. make install
  5. make installcheck (可选的)

在第 6 项中,它说:

您可以通过键入从源代码目录中删除程序二进制文件和目标文件make clean

(强调我的。)

make clean是您在重新编译之前要做的事情,以确保您获得干净的构建并且没有以前运行的剩余副产品。如果您想释放一些空间但保留源代码和配置,则可以a之后执行此操作make install。在安装之前你不应该这样做。