【发布时间】:2015-02-23 15:45:26
【问题描述】:
我想知道 AM_LDFLAGS 和 LDFLAGS 有什么区别,因为我遇到了一个错误
error: AM_LDFLAGS must be set with '=' before using '+='
当我在 foreach 循环中使用 AM_LDFLAGS 时 我的make文件代码如下:
program_INCLUDE_DIRS := /usr/bin/PR__bin
program_LIBRARY_DIRS := /usr/lib/PR__lib
CFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir))
AM_LDFLAGS += $(foreach librarydir,$(program_LIBRARY_DIRS),-L$(librarydir))
【问题讨论】:
-
Gnu 文档说:“
AM_LDFLAGS这是 Makefile.am 作者可以用来传递其他链接器标志的变量。在某些情况下,它不使用,而不是 per-可执行(或每个库)_LDFLAGS"。但它没有说明哪些种情况。 -
@WeatherVane 正在更新相同的内容。你秒杀我。 :-)
-
不同之处在于
LDFLAGS可能被Autoconf 设置或置空,但AM_LDFLAGS是Automake-only 变量,所以如果你没有明确地给它任何值,它是未设置的...因此错误。