【问题标题】:"pruning file" - is that my compiler or GNU Make?“修剪文件” - 那是我的编译器还是 GNU Make?
【发布时间】:2016-06-30 16:56:36
【问题描述】:

我的 makefile 中的目标如下所示:

.moc/moc_plmviewsetup.cpp: C:/Users/User1/Desktop/A/PROJ/src/PasaHmiExtension/pasahmiextension_global.h \
        C:/Users/User1/Desktop/A/PROJ/qt5binaries/include/QtCore/qglobal.h \
        C:/Users/User1/Desktop/A/QNX_SDK/target/qnx6/usr/include/stddef.h \
        ...

GNU make 的输出是:

  Considering target file '.obj/moc_plmviewsetup.o'.
   File '.obj/moc_plmviewsetup.o' does not exist.
    Considering target file '.moc/moc_plmviewsetup.cpp'.
     File '.moc/moc_plmviewsetup.cpp' does not exist.
      Pruning file 'C:/Users/mureadr/Desktop/A/HMI_FORGF/src/PasaHmiExtension/pasahmiextension_global.h'.
      Pruning file 'C:/Users/mureadr/Desktop/A/HMI_FORGF/qt5binaries/include/QtCore/qglobal.h'.
      Pruning file 'C:/Users/mureadr/Desktop/A/QNX_SDK/target/qnx6/usr/include/stddef.h'.
      ...
  • 修剪是什么意思?
  • 这是怎么回事:我的编译器还是 GNU make
  • 为什么会发生修剪?
  • 修剪发生的相关性是什么?

【问题讨论】:

  • @djthoms 不错。在我发布这个问题之前,我真的用谷歌搜索过这个。
  • @djthoms 所以修剪不是关于先决条件比目标更新,而仅仅是是否必须重建先决条件?对吗?
  • @djthoms 你想发布那封电子邮件的文本作为答案吗?

标签: c++ makefile gnu-make


【解决方案1】:

Answer from GNU Make mailing lists, posted by @djthoms:

2007 年 5 月 1 日星期二 08:41 -0700,Hiebert, Darren (MS) 写道:

评估时依赖项被修剪的原因是什么 是否构建目标?

嗨,达伦;

当 make 认为它已经评估了那些 目标并确定它们不可重建,并且 make 没有 运行任何规则,以便可以更改它们的状态,因为它们是 最后检查。这是一种将可能很长的东西短路的方法, 复杂的计算。

如果没有看到您的 makefile,很难说出为什么您的目标可能 在不应该修剪的时候被认为是可修剪的。

【讨论】:

    猜你喜欢
    • 2011-12-24
    • 1970-01-01
    • 2011-09-12
    • 2017-06-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    相关资源
    最近更新 更多