Was bedeutet “./configure; machen; make install ”tun?


28

Was macht ./configuredas? Warum makedann make install? Woher weiß es, wo libses ist? (Sie sind alle da und geladen, aber es kann sie nicht finden.) Warum brauchen, libswenn der Compiler kompilieren soll?

Antworten:


29
./configure

Gibt an, ob Sie zum Erstellen der Anwendung bereit sind. Es wird überprüft, ob Sie über alles verfügen, was zum Erstellen der Anwendung erforderlich ist. Wenn kritische Fehler auftreten, werden Sie darüber informiert.

make

erstellt (kompiliert) den Quellcode. Der Compiler kompiliert den Code, aber in den meisten Fällen kann der Code nicht eigenständig ausgeführt werden. Dazu müssen externe Bibliotheken (in der Regel von Ubuntu-Paketen bereitgestellt) installiert werden. Nach diesem Schritt werden die ausführbaren Dateien dieser bestimmten Anwendung, die Sie installieren möchten, erstellt.

sudo make install

Verschiebt alle für die Anwendung benötigten Dateien in die entsprechenden Systemverzeichnisse. Dies muss nachträglich erfolgen, makeda die ausführbaren Dateien der Anwendung erstellt wurden und zur späteren Verwendung in das entsprechende Systemverzeichnis (z. B. / usr / bin /) verschoben werden können.

Bibliotheken sind notwendig, weil sie es einem Programmierer ermöglichen, Code von anderen Personen zu verwenden, um bestimmte Dinge zu erreichen. Wenn ich also in meinem Programm eine Datenträgerformatierung durchführen möchte, könnte ich die Bibliotheken verwenden, die bereits von jemandem geschrieben wurden, um die Formatierung durchzuführen, und ich muss mein Programm nur veranlassen, diese Bibliotheken aufzurufen. Wenn diese Person ein Problem in ihrer Bibliothek findet, kann sie es beheben, und es wird es auch in meinem Programm beheben. So kann Open-Source-Software so schnell und stabil geschrieben werden.


1
Ich wollte nur klarstellen. Viele Nicht-Programmierer würden das nicht verstehen. Sie können es entfernen, wenn Sie nicht glauben, dass es etwas hinzufügt. :-)
reverendj1
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.