在GNU Make文档中,变量LDLIBS和LOADLIBES没有在相应的section中记录。我read这些变量仅出于兼容性目的而存在,并且它们是等价物(含义相同)。但是,LDLIBS仍在广泛使用。
可以说LDLIBS是一个弃用的变量,还是使用它是安全的?如果没有,为什么LDLIBS被其文档忽略了?
答案 0 :(得分:24)
似乎已弃用LOADLIBES
,但LDLIBS
不是。因此,manual说:
LDFLAGS
:在编译时应该给编译器的额外标志 调用链接器ld
,例如-L
。图书馆(-lfoo
)应该是 已添加到LDLIBS
变量中。
LDLIBS
:库标志或编译器的名称 应该调用链接器ld
。LOADLIBES
已被弃用(但是 仍然支持)LDLIBS
的替代方案。非库链接器标志, 例如-L
,应该放在LDFLAGS
变量中。
答案 1 :(得分:9)
GNU make手册在http://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html中说:
下表描述了一些常用的预定义变量。此列表并非详尽无遗