C Makefile.am和源代码中应该显示什么,以便将库链接到具有Autotools的程序?
Makefile.am、configure.ac和源中应该显示什么,以便将库链接到具有Autotools的程序 我的(目前微不足道的)项目配置、构建和运行正常,但我想整理一下 我目前拥有configure.ac: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()
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)