xcrun gcc-header-Dateien nicht finden kann
Will ich kompilieren eine c-Datei in OSX mountain lion. In Xcode 4.4, Einstellungen -> Downloads kann ich installieren der Befehlszeilen-tools, das zu tun. Aber auf diesen Bereich rät es mir, dass ich verwenden können, xcrun statt:
Bevor Sie installieren, beachten Sie, dass aus im Terminal, die Sie verwenden können, die XCRUN tool zum starten von Compiler und andere tools, die eingebettet in der Xcode-Anwendung. Verwenden Sie die XCODE-SELECT-tool definieren Sie, welche Xcode-version aktiv ist. Typ "Mann xcrun" im Terminal, um mehr zu erfahren.
Ich würde glücklich sein, es zu tun auf diese Weise, aber ich habe Mühe, es zu finden stdio.h.
$ xcrun gcc hello.c
hello.c:1:19: error: stdio.h: No such file or directory
Ich auf jeden Fall haben diese Datei auf meinem system nach einer standard-Installation von Xcode über den App Store:
/Applications/Xcode.app/Contents/Developer//Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/stdio.h
Ich habe versucht, die Angabe der SDK, aber habe den gleichen Fehler:
$ xcrun -sdk /Applications/Xcode.app/Contents/Developer//Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk gcc hello.c
Etwas googlen führte mich zu versuchen, xcode-select, bevor Sie die oben genannten Befehle, aber kein Glück. Ich habe nur die eine version von Xcode installiert sowieso.
$ sudo xcode-select -switch /Applications/Xcode.app
Wie ich es bekommen kann zu finden, der Header?
Letztendlich gab ich auf und installiert Kommandozeilen-tools, aber es wäre schön zu wissen, wie es mit den built-in Xcode tools.
Hinweis: hier ist die Datei, die ich versucht habe zu kompilieren:
#include <stdio.h>
int main() {
printf("hello world!\n");
return 0;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie geben Sie die nicht-standard-sysroot für den compiler.
Mit clang/llvm (das ist der neue standard) dies würde den trick tun:
Wenn Sie wollen stick mit gcc ersetzen Sie einfach "clang" mit "gcc".
Wahrscheinlich keine direkte Hilfe, aber Sie können Aliase zu Häufig verwendeten xcrun Befehle, so dass, wenn Sie andere Prozesse aufrufen, gcc, make, gdb, git und so weiter, die die Xcode-Versionen gewöhnen:
Können Sie stellen Sie den alias in der .bashrc Datei wenn Sie möchten, so dass es weiterhin besteht, und die Quelle aus .bash_profile als notwendig.
Den Vorteil des ganzen ist, dass Sie nicht brauchen, um installieren Sie die Xcode-Befehlszeilen-Tools und kann auch vermeiden, den Paket-Manager, Sie sparen Speicherplatz, reduzieren der Komplexität und nutzen von Xcode automatisch eine Aktualisierung dieser tools für Sie.
Mit xcrun --sysroot war nicht für mich arbeiten mit 10.8.
Sie suchen in der clang-Dokumentation fand ich, dass -isysroot ist die option in diesem Fall.
mit:
oder:
Für mich war es nützlich, um die folgenden Aliase: