Ho un progetto che si collega a entrambi OpenCV e cvBlob, ma cvBlob link ad OpenCV. Sia OpenCV che cvBlob sono costruiti come librerie statiche.Il collegamento di una libreria statica genera due volte una duplicazione?
Il mio file eseguibile dispone di 2 copie di tutte le funzioni OpenCV utilizzate sia dal mio codice che da cvBlob oppure il linker lo rileva e rimuove la ridondanza?
cvBlob e il mio codice di collegamento agli stessi file lib OpenCV.
Questo è in realtà una situazione molto comune - * * vacanza collegamenti al tubo catodico, per esempio. Il linker lo gestisce senza problemi. –
Cosa succede se nel caso ci sono due versioni differenti della stessa libreria? È non deterministico che verrà effettivamente utilizzato? –
Se avete * diversi file .lib * che implementano le stesse funzioni, si otterrà "simbolo duplicato" errori/avvisi in fase di collegamento. – cbranch