C Makefile.am和源代码中应该显示什么,以便将库链接到具有Autotools的程序?

C Makefile.am和源代码中应该显示什么,以便将库链接到具有Autotools的程序?,c,autotools,C,Autotools,Makefile.am、configure.ac和源中应该显示什么,以便将库链接到具有Autotools的程序 我的(目前微不足道的)项目配置、构建和运行正常,但我想整理一下 我目前拥有configure.ac: dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT(foo, 1.0) AC_CANONICAL_SYSTEM AM_INIT_AUTOMAKE()

Makefile.am、configure.ac和源中应该显示什么,以便将库链接到具有Autotools的程序

我的(目前微不足道的)项目配置、构建和运行正常,但我想整理一下

我目前拥有configure.ac:

dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.59)
AC_INIT(foo, 1.0)

AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE()

AC_PROG_CC

AC_CONFIG_FILES(Makefile src/Makefile)
AC_OUTPUT

PKG_CHECK_MODULES([DEPS], [apr-1 >= 1.4.2])
Makefile.am(在src/中):

和foo.c:

...
#include <apr-1.0/apr_general.h>
#include <apr-1.0/apr_pools.h>
...
。。。
#包括
#包括
...
我想去掉Makefile.am中/usr/lib/libapr-1.so的硬编码路径和foo.c中的相对#include路径。我假设PKG_CHECK_模块可以找到并告诉我与libapr关联的文件的位置

我应该如何修改这些文件以使其正常工作

谢谢

克里斯。

看看这个

有趣的是,如果您这样定义pkg检查:

PKG_CHECK_MODULES([APR], [apr-1 >= 1.4.2])
然后,您可以在Makefile.am中使用它:

project_name_LDADD = $(APR_LIBS)
project_name_LDADD = $(APR_LIBS)