Frage

Ich versuche, „Quadrupel“ zu installieren, eine Bibliothek, die auf ffmpeg unter Solaris x86 basiert.

Ich habe es geschafft, ffmpeg und seine Bibliotheken live in /opt/gnu/lib zu erstellen und die Includes befinden sich in /opt/gnu/include, aber wenn ich versuche, Quadrupel zu erstellen, werden die ffmpeg-Header nicht gefunden.

Welche Flags/Konfigurationen sind erforderlich, um diese beiden Verzeichnisse in die richtigen Suchpfade für Bibliotheken und Includes aufzunehmen?Ich bin kein großer Makefile-Hacker.

War es hilfreich?

Lösung

Sie können den Pfad überschreiben, indem Sie die Umgebungsvariable LD_LIBRARY_PATH festlegen.Ich würde jedoch vorschlagen, auch die Systempfade zu ändern, damit Sie nicht den Bibliothekspfad für alle Benutzer ändern müssen.Dies kann mit crel erfolgen.

crle -l -c /var/ld/ld.config -l /usr/lib:/usr/local/lib:/opt/gnu/lib

Für die Includes fügen Sie einfach -I/opt/gnu/include zu Ihrer CFLAGS-Variablen hinzu.

Andere Tipps

Ich glaube, Sie müssen dem Makefile Folgendes hinzufügen:

CFLAGS  += -I/opt/gnu/include
LDFLAGS += -L/opt/gnu/lib -R/opt/gnu/lib

Das Argument -I teilt gcc mit, wo die Include-Dateien zu finden sind.Das Flag -L teilt ld mit, wo sich die Bibliotheken beim Verknüpfen befinden.Das Flag -R schreibt /opt/gnu/lib in den Bibliothekssuchpfad in der Quadrupel-Binärdatei, damit es seine Bibliotheken beim Start finden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top