【问题标题】:Make: LDLIBS, deprecated?制作:LDLIBS,已弃用?
【发布时间】:2013-06-11 19:18:01
【问题描述】:

在 GNU Make 文档中,变量 LDLIBS 和 LOADLIBES 没有记录在其对应的section 中。我read 这些变量仅出于兼容性目的而存在,并且它们是等价的(相同的含义)。但是,LDLIBS 仍然被广泛使用。

是否可以说 LDLIBS 是一个已弃用的变量,或者使用它是否安全?如果不是,为什么它的文档忽略了 LDLIBS?

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    似乎LOADLIBES 已被弃用,但LDLIBS 不是。因此,manual 说:

    LDFLAGS: 在编译器应该提供的时候提供额外的标志 调用链接器ld,例如-L。库 (-lfoo) 应该是 而是添加到 LDLIBS 变量中。

    LDLIBS: 编译器的库标志或名称 应该调用链接器ldLOADLIBES 已弃用(但 仍然支持)替代LDLIBS。非库链接器标志, 比如-L,应该放在LDFLAGS变量中。

    【讨论】:

    • 非常感谢您粘贴此摘录。我只需要 LDFLAGS 和 LDLIBS 之间的区别。
    • 我有一个非常复杂的制作系统,在此过程中,我多次反复猜测这些变量之间的关系......不用说我每次都回到这里。谢谢兄弟。 :) 对于任何未来的访问者,它就像你猜想的那样简单 - 在你做任何建设之前你放下标志 (LDFLAGS) 引导交通 (LDLIBS)。也许你可以想出一个更好的类比/助记词,它是故意没有灵感的。
    【解决方案2】:

    GNU make 手册在http://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html 中说:

    下表描述了一些更常用的预定义变量。此列表并不详尽

    【讨论】:

      猜你喜欢
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多