Gdzie są biblioteki g ++ stl w Darwin


1

Próbuję zrozumieć, w jaki sposób niektóre struktury danych są zaprojektowane w STL. W Ubuntu zwykle otwieram pliki .h i .cpp z / usr / local / include, ale w Darwin (wersja jądra 14.3.0) jestem zagubiony, Google też nie pomaga, struktura plików jest inna. Czy możesz mi powiedzieć, gdzie są pliki .h i .cpp tych bibliotek w systemie Mac?

PS Zainstalowałem XCode, ale mi się nie podobało, więc go odinstalowałem. G ++ pozostał nawet po odinstalowaniu. Właściwie nigdy nie próbowałem sprawdzać, czy g ++ tam był, zanim zainstalowałem Xcode. Nie mam /Applications/Xcode.app, więc musi być gdzie indziej.


Czy masz zainstalowany Xcode? Oto co mam:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/
Mateusz Szlosek

2
Można także sprawdzić zawierać ścieżki przez: gcc -x c++ -v -E /dev/null.
Mateusz Szlosek,

Odpowiedzi:


1

OS X nie zawiera kompilatorów c ++.

Musisz zainstalować Xcode i / lub jego narzędzia wiersza poleceń, aby uzyskać clang (uwaga nie gcc)

Standardowe biblioteki C ++ (które nie muszą być rzeczywistymi plikami, ale są w libc ++, która jest domyślną biblioteką Xcode). Pliki dołączania znajdują się w /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/


Zainstalowałem XCode, ale mi się nie podobało, więc go odinstalowałem. G ++ pozostał nawet po odinstalowaniu. Właściwie nigdy nie próbowałem sprawdzać, czy g ++ tam był, zanim zainstalowałem XCode. Nie mam /Applications/Xcode.app, więc musi być gdzie indziej.
Shankhoneer Chakrovarty,

Potrzebujesz Xcode, ponieważ zawiera biblioteki i kompilacje itp.
Mark

1

Dzięki wszystkim. Komentarz Mateusza Szloska pomógł mi rozwiązać problem. Poniższe polecenie podaje listę katalogów wyszukanych dla #include:

gcc -x c++ -v -E /dev/null

i znalazłem ten katalog zawiera wszystkie pliki .h i .cpp:

/Library/Developer/CommandLineTools/usr/include/c++/v1

Mam nadzieję, że to komuś pomoże!

PS Mateusz Szlosek opublikował komentarz i nie mogłem znaleźć sposobu na zaakceptowanie komentarza jako odpowiedzi

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.