2009-06-26 13 views
0

libxml ++とcurlに依存するライブラリを作成しました。書いた別のパッケージのAC_CHECK_LIBを私のライブラリにどのように使うのか苦労しています。新しいパッケージのconfig.logファイルは、curl_*およびxmlpp::*への未定義の参照があることを示しています。追加の外部依存関係を持つライブラリをAC_CHECK_LIBにする最良の方法は何ですか?

libxml ++とcurlは既に私の最新パッケージに入っていますが、それらは動作しますが、私自身のライブラリの呼び出しではAC_CHECK_LIBの呼び出しでは利用できません。 (私は自分のライブラリのチェックの前にlibxml ++とcurlのチェックを持っています)

答えて

4

あなたのパッケージにpkg-configメタデータファイル(*.pc)を提供しないでください。そうすれば、クライアントはPKG_CHECK_MODULESを使うことができます。

しかし、あなたがこの問題を抱えているということは、ライブラリをlibxml ++とlibcurlにリンクしていないことを示唆しています。現代のほとんどのシステム(Linuxを含む)では、共有ライブラリはその依存関係を知っています。

+1

私は、GNU autotoolsetが* good * documentationを見つけるのが非常に難しいことがわかりました。最初のライブラリで直接pkg-configを使ってcurlとlibxml ++のデータを取得していましたが、AC_CHECK_LIBやPKG_CHECK_MODULESを使用していませんでした。だから、私はそれらにリンクしていて、pkg-configを使っていました...この方法ではありません。 私は既に最初のライブラリに* .pcファイルを追加するプロセスを開始しました。物事は今よりスムーズに進んでいるようです。 –

7

AC_CHECK_LIBはあなたの質問にはいかないので私はどうやって電話するのですか?私の推測では、他のライブラリとして指定された依存関係。

構文は次のとおりです。

AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries])

ので、最後の引数として[-lcurl ...]を置きます。

+0

これは私の質問に直接答えませんでしたが、正しい方向に私を指摘しました。ありがとう! –

関連する問題