Quelle kompilieren, portabel über Verzeichnisse

324
saravanakumar

Ich installiere einen nginxServer, ich muss ihn verteilen. Endbenutzer können also von einem beliebigen Verzeichnis aus ausgeführt werden. Meine nginxausführbare Datei ist mit meinem Pfad fest programmiert, den ich beim Kompilieren angegeben habe.

Wie mache ich das tragbar?

BEARBEITEN:

Wenn ich Änderungen an dieser nginxausführbaren Datei vorgenommen habe, wird sie nicht gestartet, sondern es werden Fehler ausgegeben, z . Bitte helfen Sie, dies zu lösen.

1

1 Antwort auf die Frage

1
AFH

Vier Optionen kommen in den Sinn: -

  1. Codieren Sie die Anwendung für die Verwendung relativer Verzeichnisse und geben Sie an, dass sie vom Kopf der Datenverzeichnisstruktur aus gestartet werden soll.
  2. Legen Sie fest, dass Umgebungsvariablen festgelegt werden sollen, um die Datenpositionen zu definieren (Sie können einen relativen Pfad aus dem $HOMEVerzeichnis verwenden, wenn Sie keine neuen expliziten Variablen definieren möchten).
  3. Verwenden Sie eine .appoder eine .config/appKonfigurationsdatei, um die Speicherorte anzugeben.
  4. Code mit einem festen Verzeichnispfad, und geben Sie an, dass an dieser Stelle ein symbolischer Link erstellt wird, der auf die tatsächlichen Positionen verweist.

Bei Ihrem Segmentierungsfehler scheint es, als hätten Sie eine Fehlerprüfung verpasst (z. B. sicherstellen, dass ein Dateizeiger nicht null ist).

Ja, der erste, den ich von einem Kollegen bekommen habe. Das funktioniert perfekt! Danke für deine wertvolle Zeit :-) saravanakumar vor 7 Jahren 0