私は共有ライブラリをビルドしてインストールし、特に-finstrument-functions
gcc のスイッチを使用して、コード インストルメンテーションを介してプロジェクトのプロファイリングを行いました。
コンパイラのスイッチでインストルメンテーションのオンオフができるので、再設定するだけでプロファイリングライブラリへの依存関係をオンオフできるようにしたいです。
configure の CFLAGS 経由で gccに渡すことができますが、LDFLAGS 経由で渡そ-finstrument-functions
うとすると-lmylib
configure が失敗します
configure:2796: checking whether we are cross compiling
configure:2804: gcc -o conftest -g -Wall -Wextra -Werror -lmylib conftest.c >&5
configure:2808: $? = 0
configure:2815: ./conftest
./conftest: error while loading shared libraries: libmylib.so.0: cannot open shared object file: No such file or directory
ファイルが存在します。二重チェックを行い、ダミーの例をコンパイルしてリンクすると、期待どおりに機能します。
興味深いことに、代わりに共有ライブラリへのフル パスを渡すと-lmylib
エラーが持続しますが、対応する静的ライブラリへのフル パスを渡すと、configure がスムーズに実行され、すべてが期待どおりにビルドされます。
一言で言えば私の質問: オプションの共有ライブラリを、configure.ac を変更せずに autotools によって生成された構成スクリプトに渡す可能性はありますか?
ありがとう、アンディ