2012-10-30 35 views
6

我有一個鏈接到OpenCV和cvBlob的項目,但cvBlob也鏈接到OpenCV。 OpenCV和cvBlob都構建爲靜態庫。連接兩個靜態庫會導致重複嗎?

我的可執行文件是否有我的代碼和cvBlob使用的所有OpenCV函數的2個副本,或者鏈接器是否檢測到這個並刪除冗餘?

cvBlob和我的代碼鏈接到相同的OpenCV lib文件。

+1

這實際上是一種非常常見的情況 - 例如,*每個人都鏈接到CRT。鏈接器處理它沒有汗水。 –

+0

雖然在同一個庫有兩個不同版本的情況下會發生什麼?它確實會被實際使用嗎? –

+2

如果你有*不同的* .lib文件實現相同的功能,你會在鏈接時收到「重複符號」的錯誤/警告。 – cbranch

回答

4

如果它們都鏈接到相同的.lib文件,那麼在最終的可執行文件中只有一個副本。