Kann nicht kompilieren C-Programm auf einem Mac nach dem upgrade zu Mojave

Habe ich die gcc-Befehl auf dem terminal zu kompilieren von C-Programmen, aber plötzlich, nach einem update für mein Mac OS (auf macOS 10.14 Mojave, und XCode 10.0), begann ich erhalte die Nachricht:

test.c:8:10: fatal error: stdio.h: No such file or directory
#include <stdio.h>
         ^~~~~~~~~
compilation terminated.

Ich habe schon gcc installiert, wie ich es finden kann in /usr/local/bin und es ist wirklich ein gcc drin. Ich habe versucht mit der gleichen Datei auf meinen anderen iMac und es funktionierte ohne jedes Problem.

Ich habe versucht mit xcode-select --install und es bereits installiert wurde, damit es nicht das Problem zu beheben bin ich jetzt. Ich vermute, dass der Pfad zu versaut ist, wie es scheint nicht wie die es finden kann gcc nach begann ich das kopieren und einfügen einiger Befehle von anderen Ressourcen, um dieses Problem zu lösen.

Möchte einige Hilfe auf diesem.

  • Sie können die Suchpfade von gcc mit echo "#include <a.h>" | gcc -v -x c -
  • Sehr oft xocde-select --install ist die richtige Lösung. Die o/s aktualisieren Sie auf? Mojave-10.14? Die XCode hast du installiert? 10.0 oder eine andere version?
  • Mojave 10.14, ich habe installiert die neueste xcode aus dem app-store-version 10.0
  • OK; ich auch. Aber sowohl die system /usr/bin/gcc - und system - /usr/bin/clang sind, für mich zu arbeiten. (Ich glaube, ich habe ein problem mit meinem home-GCC gebaut 8.2.0, aber das ist tangential zu Ihrem problem.) (Version: Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0 für beide.) Aber die Vorherige installation der command line tools und Header scheint OK zu sein. Hmmm...ich werde haben, zu denken. Ich habe gerade die Aktivierung der Mojave - (es war nicht fertig, als ich zuerst kommentiert; es ist jetzt, zwei verschiedene Macs, eine verbesserte, einer nicht).
  • Haben Sie versucht mit den wichtigsten XCode GUI-Schnittstelle? Sie können installieren, ein paar Sachen für Sie und Aufräumen? Ich wusste, dass nach der Installation von XCode 10.0, aber eine Woche oder mehr vor, lange bevor Sie das Upgrade auf Mojave.
  • OK; ich habe getan, ein bisschen der Vergleich, und mein Mojave-Maschine hat keine /usr/include an alle, die noch /usr/bin/clang ist in der Lage zu kompilieren, OK. Ein header (_stdio.hmit führenden Unterstrich) war in meiner alten /usr/include; es fehlt jetzt (daher mein problem mit GCC 8.2.0). Ich lief xcode-select --install und es sagte: "xcode-select: Hinweis: installieren Sie beantragt für die command line developer tools" und dann lief GUI-Zeug, um Nutzungsvertrag und es heruntergeladen und installiert Sie — so wird es behauptet. Ich lief dann XCode-GUI (wieder — Befehl-Raum, xcode, return) und er sagte, es benötigt noch einiges mehr...
  • ...und immer noch keine /usr/include. Grrrr! Aber ich kann kompilieren mit /usr/bin/clang und /usr/bin/gcc — und die -v option schlägt vor, Sie sind mit InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin. Ich weiß nicht, was hier Los ist, sorry für die Flut von "wie es passiert" - Kommentar, was nicht immer auf eine Antwort.
  • Die Zeit vergeht — ich hatte bisher nur die automatische updater informieren Sie mich, dass es eine neue XCode-version verfügbar und soll es installieren. Ich sagte "ja". Vielleicht ist es dieses problem behebt.
  • Ich habe einen Weg gefunden. Wenn wir über XCode 10, Sie werden feststellen, dass, wenn Sie navigieren Sie zu "/usr in den Finder, und Sie werden nicht sehen, einen Ordner namens "include" mehr und das ist, warum Sie das terminal beklagt sich die Abwesenheit des header-Dateien, die sich innerhalb der 'include' Ordner. In diesem release-Anweisung, developer.apple.com/documentation/xcode_release_notes/... (navigieren Sie zu /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg und führen Sie das Paket, um die "include" - Ordner installiert). Dann sollten Sie gut zu gehen.
  • Wenn alle Stricke reißen, Lesen Sie die Bedienungsanleitung! Oder in den release notes. Ich bin nicht schrecklich überrascht, als Apple zu wollen, drehen Sie Ihren Rücken auf dem Unix-Erbe. Ich bin enttäuscht. Wenn Sie vorsichtig sind, Sie fahren konnte mich Weg. Vielen Dank für die Informationen; ich werde Experimentieren mit es später (nach dem fangen ein paar Stunden shut-eye).
  • Nachdem das Paket installiert wurde (open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg auf der Kommandozeile), ich habe /usr/include wieder, und mein GCC 8.2.0 Werke einmal mehr. Vielen Dank für den Zeiger; gut gemacht auf der Suche nach es. Ich schlage vor, Sie schreiben die Antwort, da es wahrscheinlich andere Leute, die laufen in das problem.

InformationsquelleAutor Maxxx | 2018-09-26
Schreibe einen Kommentar