2016-05-08 7 views
0

autotoolsを使用して、dlopenとそのフレンドを使用するプロジェクトを構成および構築しています。

私は私のルートconfigure.acに次のコードを持っている:

私は図書館がautotoolsので発見された https://autotools.io/autoconf/finding.html

からもらった

AC_SEARCH_LIBS([dlopen], [dl dld], [], [ AC_MSG_ERROR([unable to find the dlopen() function]) ])

checking for library containing dlopen... -ldl

しかし、図書館は012に追加されていないようです理由:

a_out_LDADD=-ldl

作品(すなわち、プロジェクトがコンパイルし、実行します)、および

a_out_LDADD=$(LIBS)

は、私が何をしないのです(つまりundefined reference to 'dlopen'

ではないでしょうか?

答えて

0

(全開示は、私がリンクドキュメントの著者です。)

あなたはLIBS変数が何らかの形で上書きさ取得されていませんか? config.logをチェックして、最終出力が何であるかを確認することができます。私はこれが最も一般的な問題は、LIBS=${SOMEDEPS_LIBS}の後に、古いLIBSの値を前に付けることなく行くことだと思います。

また、_LDADD=$(LIBS)は、デフォルトですべてのリンクコマンドに追加されるため、_LDADD=$(LIBS)を実行する必要はありません。

関連する問題