Ich weiß, dass Mac OS X ein Unix-basiertes System ist. Und ich habe gehört, dass C-Standard-Bibliothek wie stdio.h, in /usr/local/include
oder /usr/include
befindet. Aber es gibt keine Bibliothek in diesem Verzeichnis. Ich benutze Terminal, um dieses Verzeichnis zu durchsuchen, und ich benutze auch Befehl wie find ./ -iname "stdio.h"
, aber nichts kommt heraus. Seltsamerweise funktioniert der Befehl gcc -test.c -o test
jedoch. Wie ist es passiert? Ich möchte wissen, wo sich meine C-Bibliothek befindet.
S. Ich benutze auch Xcode. Ist es mit dieser Anwendung verbunden? Hilf mir!
Und ich habe AWS EC2 Linux Server, und es hat beide Bibliotheken, die ich oben genannt habe.
Wenn Sie Xcode haben, aber das optionale Befehlszeilentools-Paket nicht installiert haben, werden die Standard-Includes und Bibliotheken möglicherweise nicht an der gewohnten Stelle gefunden. Probieren Sie:
%Vor%und Sie werden wahrscheinlich etwas sehen wie:
%Vor% Sie möchten jedoch möglicherweise das Befehlszeilenprogramm-Paket installieren, wenn Sie eine Programmierung ohne Xcode (d. h. Befehlszeile) planen . Sie sehen dann die üblichen Header und Bibliotheken in /usr/include
und /usr/lib
.
create / update einen Symlink für /usr/include
, um die libs zu erkennen:
Der obige Pfad kann durch Suchen nach stdio.h gefunden werden.
%Vor%Ich muss dies mit jedem XCode / MacOS SDK-Update tun, Dies ist heute mit dem XCode 7-Upgrade verbunden.
Sobald die Befehlszeilentools installiert sind, können sie nicht mit xcode-select
neu installiert werden, sodass der Pfad möglicherweise nicht mit einem Mac AppStore-Upgrade aktualisiert wird.
Deinstallieren & amp; Das erneute Installieren von XCode und anschließendes Ausführen von xcode-select --install
könnte den Pfad aktualisieren, ist jedoch ein Overkill.
Einige Beiträge erwähnen auch xcode-select --switch /Application/Xcode.app
, aber ich hatte nicht viel Glück damit.
In meinem Laptop erscheint es an vielen Orten wie /usr/include/stdio.h
und /usr/include/sys/stdio.h
und /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/stdio.h
.
Wenn Sie Ihre locate-Datenbank bereits erstellt haben, können Sie
verwenden %Vor% Wenn Sie es noch nicht getan haben, bauen Sie es. Der Befehl locate
ist großartig !