collect2: Fehler: ld gab 1 als Ende-Status zurück

sysvorOrt /home/michi/programmierung/c++ # g++ test.cpp test
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find test: Datei oder Verzeichnis nicht gefunden
collect2: Fehler: ld gab 1 als Ende-Status zurück

Bitte beachten, das das -o mit angegeben werden muss, damit der Befehl funktioniert.

Die Option -o bei der Verwendung von g++ (und anderen Compilern) hat folgende Bedeutung:

  1. Sie legt den Namen der Ausgabedatei fest, die der Compiler erzeugen soll.
  2. Normalerweise wird -o verwendet, um den Namen der ausführbaren Datei anzugeben, die nach dem Kompilieren und Linken erstellt werden soll.
  3. Beispiel:
   g++ quelldatei.cpp -o programmname

Hier wird eine ausführbare Datei namens „programmname“ erzeugt.

  1. Wenn -o nicht angegeben wird, verwendet g++ standardmäßig den Namen „a.out“ für die ausführbare Datei.
  2. Bei der Verwendung mit der Option -c (die nur kompiliert, aber nicht linkt) gibt -o den Namen der zu erstellenden Objektdatei an.
  3. In komplexeren Build-Prozessen kann -o auch verwendet werden, um Zwischendateien zu benennen, wie in dem von Ihnen gezeigten Beispiel, wo temporäre Objektdateien erstellt werden.

Die Verwendung von -o ermöglicht es also, den Ausgabedateien des Compilers spezifische Namen zu geben, was besonders nützlich ist, wenn man mehrere Quelldateien kompiliert oder in Build-Skripten arbeitet.

sysvorOrt /home/michi/programmierung/c++ # g++ test.cpp -o test
sysvorOrt /home/michi/programmierung/c++ #

Schreibe einen Kommentar