Wiem, że Mac OS X to system oparty na systemie Unix. I słyszałem, że standardowa biblioteka C, taka jak stdio.h, znajduje się w /usr/local/include
lub /usr/include
. Ale w tym katalogu nie ma żadnej biblioteki. Używam Terminala do przeszukiwania tego katalogu i używam również polecenia, takiego jak find ./ -iname "stdio.h"
, ale nic nie wychodzi. Jednak, o dziwo, działa polecenie gcc -test.c -o test
. Jak to się stało? Chcę wiedzieć, gdzie znajduje się moja biblioteka C. p.s Używam również Xcode. Czy jest to związane z tą aplikacją? Pomóż mi! Mam też serwer linuksowy AWS EC2, i ma obie biblioteki, które skazałem powyżej.Gdzie jest mój "stdio.h" na Macu?
Odpowiedz
Jeśli posiadasz Xcode, ale nie zainstalowałeś opcjonalnego pakietu narzędzi wiersza poleceń, to standard obejmuje i biblioteki mogą nie zostać znalezione w zwykłym miejscu. Spróbuj:
$ find /Applications/Xcode.app -name stdio.h
i prawdopodobnie zobaczysz coś takiego:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/c++/4.2.1/tr1/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/sys/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/c++/4.2.1/tr1/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/sys/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/tr1/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/tr1/stdio.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/stdio.h
Jednak warto do zainstalować narzędzia pakietu Command Line jeśli planujesz robić żadnych non-Xcode (tj komenda linia) programowanie. Zobaczysz wtedy zwykłe nagłówki i biblioteki w /usr/include
i /usr/lib
.
Dzięki. Ale po zainstalowaniu narzędzi wiersza poleceń, tylko/usr/include ma plik biblioteki. nie ma "/ usr/local/include" !! co oznacza, że gdy wpisuję "cd/usr/local/include", pojawia się błąd: Brak takiego pliku lub katalogu. czy to jest w porządku ?? – user3595632
@ user3595632 To dobrze, '/ usr/local' jest tradycyjnie używane przez dodatkowe pakiety SDK i pakiety, a nie przez dostawcę platformy. – Potatoswatter
To prawda -/usr/local służy do instalowania materiałów innych firm, aby nie zostały nadpisane podczas aktualizacji systemu. System przechodzi w/usr. –
W moim laptopie pojawia się w wielu miejscach, takich jak /usr/include/stdio.h
i /usr/include/sys/stdio.h
i /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/stdio.h
.
W folderze
Applications/Xcode/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include
lub podobnego.
tworzyć/aktualizować dowiązania dla /usr/include
mieć wykryte libs:
sudo ln -sf /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include /usr/include
Powyższa ścieżka można znaleźć wyszukując stdio.h
find /Applications/Xcode.app -path '*/usr/include/stdio.h'
muszę zrobić to przy każdej aktualizacji XKode/MacOS SDK, w obliczu tego dzisiaj z aktualizacją XCode 7.
Po zainstalowaniu narzędzi wiersza polecenia nie można ich ponownie zainstalować przy użyciu xcode-select
, więc ścieżka może nie zostać zaktualizowana przy aktualizacji do Mac AppStore.
Odinstalowanie & Ponowna instalacja XCode, a następnie uruchomienie xcode-select --install
może zaktualizować ścieżkę, ale jest przesadą.
Niektóre posty wspominają także o xcode-select --switch /Application/Xcode.app
, ale nie miałem z tym szczęścia.
Jeśli nie masz zainstalowane narzędzia wiersza poleceń można uruchomić:
xcode-select --install
otwiera się okno dialogowe, aby zaakceptować umowę licencyjną i tak dalej.
(Tego nie było w powyższych odpowiedziach.)
To najkrótsza odpowiedź! –
Jeśli już zbudowałeś zlokalizować bazy danych, można użyć
locate stdio.h
Jeśli nie już budować. Komenda locate
is awesome!
- 1. Gdzie jest Android AVD Manager na Macu?
- 2. Gdzie instaluje się meteor na Macu?
- 3. Gdzie jest mój niestandardowy kod aplikacji Django?
- 4. Gdzie jest przechowywany mój alias git?
- 5. Gdzie jest mój folder m2 na Mac OS X Mavericks
- 6. Gdzie znajduje się standardowy katalog biblioteki rubin umieszczony na Macu?
- 7. Co to jest ścieżka JDK na Macu?
- 8. Jaka jest domyślna ścieżka debug.keystore na Macu?
- 9. Dlaczego działa #include "stdio.h"?
- 10. C++ Jak chronić się przed stdio.h makr
- 11. std :: list i std :: for_each: gdzie jest mój koniec?
- 12. SQLite - najlepsza przeglądarka na Macu?
- 13. Skróty w elektronach na Macu
- 14. Zdalne jądro matematyki na macu
- 15. Zautomatyzowana jedność iOS na Macu
- 16. MonoDevelop na Macu - Ustawienia eksportu
- 17. Problemy z Canvas na Chrome na Macu
- 18. Sterownik MySQL PDO na Macu
- 19. Gdzie jest mój plik .emacs w systemie Mac OS X
- 20. gdzie jest mój folder aplikacji w systemie Android?
- 21. Firebase - gdzie jest mój sekret konta w nowej konsoli?
- 22. Instalacja Numpy na Macu 10.8.2
- 23. Używanie Selenium na Macu Chrome
- 24. ctags nie parsuje stdio.h właściwie
- 25. Najlżejszy sposób na uruchomienie IIS na Macu?
- 26. bez uwzględnienia <stdio.h>
- 27. Czy webgl działa na chrome na Macu?
- 28. Jak zrobić contentInset na NSScrollView na Macu
- 29. Jak używać SceneBuilder z IntelliJ na Macu
- 30. Gdzie mogę umieścić mój projekt before_request
'Plik nagłówkowy' 'jest częścią standardowej biblioteki C i może znajdować się w katalogu * any *, który kompilator szuka plików nagłówkowych, może to być w podkatalogu do'/usr/lib' na przykład . Ponadto polecenie 'find ./ -iname" stdio.h "' wyszukuje plik z katalogu * current *, więc jeśli jesteś w domenie. twój własny katalog domowy, którego nie znajdziesz. –