Tutorial zum Erstellen von Projekten aus dem Quellcode

650
andyvn22

Auch wenn ich selbst einiges an Software geschrieben habe und mich relativ gut für den Computer halte, habe ich das Projekt eines anderen niemals erfolgreich aus dem Quellcode erstellt . NOCH NIE. Und ich habe es versucht - oh, ich habe es versucht. Es fehlen immer Header-Dateien, dunkle Fehler, lächerlich lange Ketten von Abhängigkeiten. Wenn etwas tatsächlich kompiliert wird, stürzt es beim Start ab.

Man kann davon ausgehen, dass nicht jedes Open-Source-Projekt kaputt ist. Deshalb bin ich es. Gibt es Tutorials oder Vorschläge zum Umgang mit dem generellen Prozess des Erstellens eines Projekts aus der Quelle? Oder funktioniert es normalerweise, wenn man den Anweisungen folgt, dann bin ich scheinbar verflucht?

1
Können Sie die Frage vielleicht umformulieren, um genauer zu sagen, was ein Benutzer von superuser.com tatsächlich beantworten soll? Möchten Sie, dass wir ein Tutorial schreiben, Ihnen Informationen zur Verfügung stellen und Vorschläge geben, wo Sie möglicherweise Unordnung haben? Jonathan vor 14 Jahren 0

1 Antwort auf die Frage

2
Lloeki

Bitte beachten Sie, dass dies eine grobe Gliederung ist, da Projekte sehr unterschiedlich sein können.

Die häufigste Fehlerursache sind wahrscheinlich Abhängigkeiten oder fehlende Codierbarkeit.

Vergewissern Sie sich zuerst, dass der neueste XCode installiert ist.

Ich empfehle zuerst, entweder MacPorts oder Homebrew zu verwenden. Dadurch erhalten Sie sofort Zugriff auf viele Open-Source-Pakete.

Wenn sich Ihr Projekt dann nicht in der bereitgestellten Paketliste befindet, können Sie mit den zuvor genannten Paketmanagern die direkten Abhängigkeiten (und wiederum ihre Abhängigkeiten rekursiv) viel einfacher installieren, als diese Abhängigkeiten manuell aus der Quelle erstellen.

Als nächstes werden Ihnen zwei Optionen angeboten:

  1. Sie bauen und verwalten das Projekt von Hand
  2. Sie erstellen eine Portdatei (MacPorts) oder eine Formel (Homebrew), damit die Paketverwaltung Ihr Projekt abrufen, erstellen, installieren und verwalten kann

Wie Sie Ihr Projekt erstellen, hängt stark von dem Projekt selbst und der Sprache ab, in der es geschrieben ist. Anweisungen liegen im Allgemeinen in einer INSTALL- oder README-Datei.

Da Sie von Header-Dateien sprechen, ist es vermutlich ein Programm, das in C oder C ++ geschrieben ist. In diesem Fall sieht der Buildprozess im Allgemeinen wie folgt aus:

./configure --prefix=/usr/local make 

Stellen Sie sicher, dass Sie ein Präfix setzen, um die Systemdaten in / usr / bin für Projekte, die verrückte Standardwerte verwenden, nicht zu überschreiben.

Wenn alle Abhängigkeiten erfüllt sind, sollte das configureSkript erfolgreich ausgeführt werden make. Wenn Probleme auftreten, können Sie Abhängigkeiten mit dem configureSkript zeigen oder deaktivieren ./configure --help.

Wenn die Kompilierung erfolgreich war, können Sie entweder über installieren sudo make install.

Versuchen Sie alternativ, eine Portdatei oder eine Formel zu erstellen, die die Erstellungsschritte ausführt, jedoch vom Paketmanager verwaltet wird.

Die Paketverwaltungsroute hat viele Vorteile:

  • Die Buildbefehle können leicht für eine neuere Version des Projekts reproduziert werden
  • Die Deinstallation ist recht einfach durchzuführen
  • Sie können das Portfile / die Formel zurückgeben
  • Sie können sich von einem vorhandenen Portfile / einer Formel inspirieren lassen, die für ein ähnliches Projekt geschrieben wurde, um Ihr Projekt erfolgreich zu erstellen

Widerstehen Sie der Versuchung, Universal-Binärdateien zu erstellen. Es kann eine knifflige Angelegenheit sein, die Sie nur versuchen sollten, wenn Sie erfolgreich sind und reguläre Builds zuerst beherrschen.

Beachten Sie jedoch, dass einige Projekte nicht auf tragbare Weise geschrieben werden (entweder aufgrund der Notwendigkeit, der Irrelevanz oder des Willens). Sie werden einfach nicht auf Mac OS X aufbauen. Obwohl dies nicht trivial ist, könnte dies eine Gelegenheit sein, das zu lernen und zu portieren Code auf eine neue Plattform ...