Frage

Also ich habe diese sehr einfach SDL Anwendung Ich möchte meinem Freund weitergeben können, ohne ihn eine ganze Reihe von SDL Pakete herunterladen zu müssen.

Wie kann ich über diese gehen? Mir wurde gesagt, diese Zeile zu verwenden, zu kompilieren: (Beachten Sie, dass ich Ubuntu Linux verwenden und so auch mein Freund, und dass diese Anwendung kompiliert und läuft ohne die „-Wl, -Bstatic“ Optionen nur in Ordnung.)

    g++ test-sdl.cpp -o test-sdl -Wl,-Bstatic -lSDL_image -lSDL

Aber ich diesen Fehler dann bekommen:

    /usr/bin/ld: cannot find -lgcc_s  
    collect2: ld returned 1 exit status

Warum erhalte ich diesen Fehler? wie kann ich es beheben? muss ich auch auf diese Weise das tun? Gibt es eine andere / leichte / alternative Art und Weise?

Bin ich für so viel verlangt von wollte mein Freund den Ärger der Download-Pakete speichern wird er wahrscheinlich sowieso nie benutzen?

Danke.

War es hilfreich?

Lösung

Auf lange Sicht die beste Wahl wäre, um herauszufinden, wie .debs zu bauen und dann Paketverwaltung Ihres Freundes System können alle Abhängigkeiten der Installation erforderlich kümmern. Wenn Sie mehr die Pakete weit verteilen möchten, die native Verpackungssystem der Plattform als sparen, die Ihnen und Ihren Benutzern eine Menge Kopfschmerzen.

Hier finden Sie aktuelle Ubuntu-Guide für Verpackung und pbuilder .

Persönlich lernte ich, wie dies für meine eigenen Projekte zu tun (auf Debian) von dem Martin Krafft Debian Buch und finden mit yada den Prozess rationalisiert erheblich.

Andere Tipps

Sie sollten sich der -B loszuwerden, denke ich (dies ändert den Suchpfad, siehe man g ++, und somit können Sie nicht Ihre Bibliotheken finden mehr).

Der Schalter Sie gemeint ist -static, ohne die B.

In Reaktion auf die Kommentare: sorry, das war unvollständig. Stattdessen ersetzen alle „-Wl, -Bstatic“ mit nur „-static“.

Wie codelogic schrieb, -static ist keine Option an den Linker (die -Wl impliziert).

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