Laden einer extern C-Bibliothek in eine bestehende C ++ - Project (F.E. ffmpeg / libavcodec - Schritt für Schritt)
Frage
Ich habe wirklich große Probleme mit dem Import eine externen C-Bibliothek zu meinem vorhandenen C ++ - Projekt. Ich mag libavcodec
vom FFmpeg
-Projekt importieren, so dass ich heruntergeladen die neueste Quelle-Code-Release.
Was muss ich jetzt machen? Muss ich FFmpeg
ersten kompilieren oder kann ich importieren es einfach so? Eine wirklich einfache Schritt-für-Schritt-Anleitung wäre genial!
(Ich fand Tutorials wie libavcodec zu benutzen, wenn es importiert wird, so ist dies nicht notwendig ... Ich habe einige nicht gefunden, es zu importieren)
Lösung
Um ein Quellcode-Bibliothek in Ihr bestehendes Projekt gehören Sie haben eine Reihe von Optionen:
-
Übersetzen auf eine statische Bibliothek
-
Übersetzen auf eine dynamische Bibliothek
-
Übersetzungsdateien zum Objekt
Also, ja, Sie brauchen ihren Quellcode zu kompilieren, und Sie müssen Ihre Werkzeugkette ändern, um die Ergebnisse in das Programm aufzunehmen.
Andere Tipps
Sie benötigen eine externe Bibliothek zu bauen. Dies wird eine Bibliotheksdatei erzeugen Sie verwenden, wenn Ihr Programm zu bauen. Sie umfassen die Bibliothek während des Verknüpfungsprozesses, wenn das Programm kompiliert wird. Sie müssen auch auf „#include“ die Header Sie in Ihrer eigenen Quelle verwenden möchten. Sie müssen wahrscheinlich den Compiler sagen, wo die FFmpeg Header befinden, die „-I“ -Kennzeichen in g ++ verwendet, und wo die Bibliothek befindet sich die „-L“ Flag verwendet.