2012-10-30 9 views
6

私はOpenCVのとcvBlobの両方にリンクするプロジェクトを持っているが、cvBlobもOpenCVのにリンクします。 OpenCVとcvBlobは両方とも静的ライブラリとして構築されています。静的ライブラリを2回リンクすると重複が生じますか?

は私の実行可能ファイルは、両方の私のコードでとcvBlobで使用されている、またはリンカーがこれを検出し、冗長性を排除んすべてのOpenCVの関数の2つのコピーを持っていますか?

cvBlobと同じOpenCVのlibのファイルへの私のコードのリンク。

+1

これは実際には非常に一般的な状況である - 例えばCRTへ*皆*リンク。リンカは汗をかくことなくそれを処理します。 –

+0

同じライブラリの2つの異なるバージョンがある場合はどうなりますか?実際に使用されるのは非決定論的ですか?あなたは同じ機能を実装して異なる* .libファイルを*している場合は –

+2

、あなたはリンク時に「重複したシンボル」エラー/警告を取得します。 – cbranch

答えて

4

彼ら場合は同じ.libファイルへの両方のリンクは、その後、最終的な実行可能ファイルで唯一のコピーがあります。

関連する問題