Wenn Sie keine statische Binärdatei kompilieren können, habe ich mit Statifier gute Ergebnisse erzielt.
Die meisten autoconf
erzeugt configure
-Skript ermöglicht es Ihnen, einen statischen Build zu erstellen:
./configure --enable-static
make
Wenn das nicht funktioniert, können Sie möglicherweise Linker-Flags über LDFLAGS
übergeben , etwa so:
./configure LDFLAGS=-static
Ich nehme an, es verwendet gcc, um eine Reihe von C-Programmen zu kompilieren, obwohl Sie im Makefile nachsehen müssen, um das herauszufinden.
Wenn dies der Fall ist, können Sie die gcc-Zeilen im Makefile anpassen, um statisches Linken durchzuführen, obwohl dies je nach Struktur des Programms eine komplexe Änderung sein kann. Werfen Sie einen Blick auf man gcc, um zu sehen, wie das gemacht wird.
Mich würde interessieren, warum du statisch verlinkst. Haben Sie darüber nachgedacht, stattdessen die Vorverlinkung zu verwenden?
Sie sollten sich darüber im Klaren sein, dass es dabei zu Lizenzproblemen kommen kann, wenn nicht alle Komponenten GPL sind.
Ja, Sie müssen die Make-Datei bearbeiten und während des Links den Parameter -static zu gcc hinzufügen.