1

複数の実行可能ターゲットと複数の共有ライブラリを含む複雑なプロジェクトがあります。共有ライブラリには現在、依存する共有ライブラリがリンクされていません。その結果、実行可能ファイルをビルドするためのリンカー引数が非常に長くなり、保守が困難になります。依存関係を追加して、Makefile がよりクリーンになるようにしたいと思います。

以下を追加したい(例):

gcc -shared -o libshared.so -lshared_dependent1 -lshared_dependent2 objfile1.o objfile2.o

libshared.so のすべてのシンボルがその行に基づいて解決されるかどうかをテストする方法はありますか? 指定された shared_dependent ライブラリのいずれかが不要な場合に出力する方法はありますか?

前もって感謝します。

4

1 に答える 1

1

未定義のシンボルを強制しない方法を知っています:

-Wl,--no-undefined

autotoolsは、Windowsでこれが欠落していることについて不平を言うことがよくあります。

未使用のライブラリがあるかどうかは、1つずつ除外する以外に確認できるかどうかわかりません。

于 2012-06-17T14:31:58.863 に答える