2011-07-19 16 views
0

ここにはHugeAppと呼ばれる巨大なアプリケーションがあります。異なるライブラリが必要です。これらのライブラリの中には、依存関係が必要なものもあります(他のライブラリはここから開発されています) )。依存関係のないライブラリを構築する

のうち、HugeAppのどれかを非表示にすることが可能かどうか、そして/または良いアイデアがあるのだろうかと思いました。

システムで暗号化された通信を担当するライブラリを作成し、トップアプリケーションが気にしたり、この部分(comms)に必要な暗号化ライブラリがいくつかあることを知っておく必要があるとします。システム?それは...

あなたは、外部DLLのよう、これらのライブラリを構築する場合は、外部ライブラリは気に唯一のものです、それは知っているするための必要はありません

答えて

0

ありがとう特定の...かな実装であるかもしれません依存関係。あらかじめ作成されたDLLへの参照を追加すると、HugeAppはライブラリの依存関係を知る必要はありません(ライブラリに存在するか、適切なDLLまたはlibファイルが存在していれば、DLLがそれを利用する)。もしあなたのライブラリが別のプロジェクトになることができれば、そこへの参照を含めることができます。その場合、HugeAppのプロジェクトはそのメインリファレンスだけを気にし、他のプロジェクトは他のすべてのものを処理します。

+0

この特定のアプリケーションでDLLを使用することはできません。スペックは静的なライブラリが必要であることを示しています。 – ALOToverflow

+0

次に、ライブラリを別のプロジェクトに移動し、HugeAppからそのプロジェクトへの参照を追加するだけです。プロジェクトオプションにスタティックライブラリ用のプリコンパイル済みヘッダーが含まれていることを確認してください。 –

0

リンカ最適化で/ OPT:REFを有効にすると、リンク時にプロジェクトで使用されている関数またはデータがないライブラリ(存在する場合)が一覧表示されます。次に、プロジェクト設定の依存関係リストおよびリンク行からそれらを削除できます。これにより、VSソリューションに存在/使用されている場合に、別の静的ライブラリの依存関係である静的ライブラリを削除する機会が減ります。

関連する問題