Make:LDLIBS,已弃用?

Per*_*-lk 12 makefile gnu-make

在GNU Make文档中,变量LDLIBS和LOADLIBES未在相应的部分中记录.我已经读过这些变量仅出于兼容性目的而存在,并且它们是等价的(相同含义).但是,LDLIBS仍在广泛使用.

可以说LDLIBS是一个弃用的变量,还是使用它真的很安全?如果没有,为什么LDLIBS被文档忽略了?

Jér*_*ler 26

似乎LOADLIBES已被弃用,但事实LDLIBS并非如此.因此,手册说:

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

LDLIBS:当应该调用链接器时,为编译器提供的库标志或名称,ld.LOADLIBES是一个弃用(但仍然支持)的替代品LDLIBS.非库链接器标志(例如-L)应该放在LDFLAGS变量中.

  • 非常感谢粘贴这段摘录.我只需要区分LDFLAGS和LDLIBS. (2认同)
  • 我有一个非常复杂的 make 系统,一路上我多次对这些变量的关系进行了双重猜测……不用说,我每次都回到这里。谢谢兄弟。:) 对于任何未来的访问者,它就像您可能猜到的一样简单 - 在您进行任何构建(`LDLIBS`)之前,您放下标志(`LDFLAGS`)引导交通。也许你能想到一个更好的比喻/助记符,它是故意没有灵感的。 (2认同)

Mad*_*ist 9

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

下表描述了一些常用的预定义变量.这份清单并非详尽无遗