c - Autotoolsを使用してライブラリをプログラムにリンクするには、Makefile.amとソースに何を表示する必要がありますか?

原文 c autotools

Maketools.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 /内):

bin_PROGRAMS=a.out
a_out_SOURCES=foo.c
a_out_LDADD = /usr/lib/libapr-1.so


そして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_MODULESがlibaprに関連付けられているファイルの場所を見つけて教えてくれるという大きな仮定を立てています。

これを機能させるには、これらのファイルをどのように変更すればよいですか?

おかげで、

クリス。
答え
このtutorialをチェックしてください。

興味深いのは、次のようにpkgチェックを定義した場合です。

PKG_CHECK_MODULES([APR], [apr-1 >= 1.4.2])


その後、Makefile.amで使用できます。

project_name_LDADD = $(APR_LIBS)
関連記事

c++ - 十分に文書化されたオープンソースおよび高速C / C++画像操作ライブラリ。 「サイズ変更」のように、回転、色の変更、切り抜き[終了]

mysql - MySql dbと対話するCプログラムのコンパイルの問題

c - libcurl(7.19,7)がO​​SX(10.6.8)で_mdns_query_callbackを使用してクラッシュする

c - この構造のサイズが4バイトになる方法

python - ctypesで関数に構造体ポインタを渡す

c - ロスレスURL短縮を実装する方法

c - Cのポインターと配列

c - 変数に浮動小数点値を割り当てる

c - -fno-strict-aliasingの設定方法は?

android - posix setuid別のプロセス