【问题标题】:make's foreach and specifying libraries to link against (-l)make 的 foreach 并指定要链接的库 (-l)
【发布时间】:2014-11-03 16:59:23
【问题描述】:

在 Makefile 中,我有一个我必须链接的库列表:

LIBS=var.a foo.a

我想运行以下命令(简化):

$(CC) main.c -lvar.a -lfoo.a

现在我使用:

$(CC) main.c $(foreach lib,$(LIBS),-l$(lib))

它可以工作,但它看起来有点罗嗦/麻烦。有没有更好的方法呢?另一种方法?

谢谢!

【问题讨论】:

  • $(addprefix -l,$(LIBS))
  • 我知道一定有更好的东西。如果您将其写为答案,我会接受。谢谢!

标签: makefile


【解决方案1】:

一种可能的改进是使用addprefix 函数。

$(addprefix -l,$(LIBS)

也可以使用patsubst

$(patsubst %,-l%,$(LIBS))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 2017-07-30
    相关资源
    最近更新 更多