【发布时间】:2012-11-29 12:01:07
【问题描述】:
假设我开发了 libfoo.a 作为编译过程的中间步骤。这是 Makefile.am 中的一行:
noinst_LIBRARIES = libfoo.a
这个库依赖于其他库。为了防止我得到未定义的引用错误,我需要设置它的 LDFLAGS 变量。这是我所做的:
libfoo_a_LDFLAGS = `pkg-config --ldflags some_lib`
但是,automake 失败并显示以下消息:
variable `libfoo_a_LDFLAGS` is defined but no program or library has `libfoo_a` as canonical name (possible typo)
我在这里做错了什么?它适用于 libfoo_a_SOURCES 和 _CFLAGS。
【问题讨论】:
-
你不应该在 make 时运行 pkg-config:它应该在配置时通过
PKG_CHECK_MODULES运行(如果使用的话)。 -
为什么不将适当的库添加到构建时与 libfoo 链接的可执行文件的 LDFLAGS 中?