Fehler beim Kompilieren von C-Code: Undefinierte Symbole
Beim Kompilieren von C-Code unter macOS Lion weisen Fehler im Zusammenhang mit undefinierten Symbolen darauf hin, dass der Compiler fehlerhaft ist Verknüpfen des Codes mit der C-Standardbibliothek (-lcrt1.10.6.o) anstelle der C-Standardbibliothek (-lstdc .6.dylib).
Ursache:
Dieser Fehler tritt normalerweise auf, wenn das C-Frontend (gcc) zum Kompilieren von C-Code verwendet wird, was zu einer falschen Verknüpfung mit führt die entsprechenden Bibliotheken.
Lösung:
Um diesen Fehler zu beheben, verwenden Sie den C-Compiler (g oder clang ), um den Code zu kompilieren. Diese Compiler verarbeiten die C-Syntax und verknüpfen automatisch die C-Standardbibliothek, wodurch undefinierte Symbolfehler vermieden werden.
Beispiel mit g:
$ g++ main.cpp -o main
Beispiel mit clang :
$ clang++ main.cpp -o main
Nach dem Kompilieren mit dem richtigen Compiler sollte das nicht mehr auftreten undefinierte Symbolfehler. Die Ausgabe des Flags -v, das den Linker-Aufruf anzeigt, kann verwendet werden, um zu überprüfen, ob die richtigen Standardbibliotheken verknüpft werden.
Das obige ist der detaillierte Inhalt vonWarum erzeugt mein C-Code unter macOS Fehler „Undefinierte Symbole' und wie kann ich diese beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!