Carica una libreria C esterna in un C ++ esistente - Progetto (ad es. Ffmpeg / libavcodec - istruzioni dettagliate)
Domanda
Ho davvero grossi problemi con l'importazione di una libreria C esterna nel mio progetto C ++ esistente. Voglio importare libavcodec
dal progetto FFmpeg
, quindi ho scaricato l'ultima versione del codice sorgente.
Cosa devo fare adesso? Devo prima compilare FFmpeg
o posso importarlo in questo modo? Un manuale passo-passo davvero semplice sarebbe fantastico!
(Ho trovato tutorial su come usare libavcodec quando viene importato, quindi non è necessario ... Non ne ho trovati alcuni per importarlo)
Soluzione
Per includere una libreria di codici sorgente nel progetto esistente hai una serie di opzioni:
-
Compila in una libreria statica
-
Compila in una libreria dinamica
-
Compila in file oggetto
Quindi, sì, devi compilare il loro codice sorgente e devi cambiare la tua toolchain per includere i risultati nel tuo programma.
Altri suggerimenti
Devi creare la tua libreria esterna. Ciò produrrà un file di libreria che verrà utilizzato durante la creazione del programma. Includete la libreria durante il processo di collegamento durante la compilazione del programma. Dovrai anche " # includere " le intestazioni che si desidera utilizzare nella propria fonte. Probabilmente dovrai dire al compilatore dove si trovano le intestazioni di FFmpeg, usando " -I " flag in g ++ e dove si trova la libreria usando " -L " bandiera.