2

automakeを使用してC++プログラムを構築しています。動的にリンクしたい多くのライブラリを使用しています。

静的にリンクしたい単一のライブラリがあります。私はこのライブラリを構築していません。使用したいサードパーティから提供された.aファイルがあります。

configure.acまたはMakefile.amで、このライブラリを静的にリンクする必要があることを指定する簡単な方法はありますか?他のすべてのライブラリの通常の動的リンク動作は変更されません。

4

2 に答える 2

1

静的にリンクするか動的にリンクするかの決定は、メンテナーではなくユーザーが行う決定であるため、autotool メタ ファイルでその決定をしようとしても意味がありません。ユーザーが静的にリンクしたい場合、最も信頼できる方法は、リンカーが検索するディレクトリに動的ライブラリが存在しないようにすることです。

于 2013-03-08T17:50:53.330 に答える
0

私は答えを見つけました。

Makefile.am にライブラリ パスを追加することで機能します。

programname_LDADD = /usr/lib/libneeded.a

これは、パスが指定されたものと正確に一致する場合にのみ機能します。

于 2013-03-09T10:36:44.397 に答える