2015-06-16 23 views
7

Na OSX nie mogę skompilować prostych programów z wiersza poleceń, gdy używam zewnętrznego kompilatora (np. Gcc-4.8). Nie można znaleźć nagłówków systemowych, takich jak limits.h.Błąd krytyczny: limits.h: Brak takiego pliku lub katalogu

komunikaty o błędach Przykład:

fatal error: limits.h: No such file or directory 

Albo:

fatal error: stdio.h: No such file or directory 

i tak dalej.

Co jest nie tak?

Odpowiedz

17

Upewnij się, że masz zainstalowane Xcode narzędzi wiersza polecenia: (. Zaakceptować okno pop-up)

xcode-select --install 

To zainstaluje system na nagłówki standardowych lokalizacjach oczekiwanych przez narzędzia, takie jak gcc np /usr/include.

+0

gcc powinien mieć zainstalowany własny zestaw plików nagłówkowych, który wie, jak znaleźć. Używanie plików nagłówkowych z jednego kompilatora (clang, z Xcode) z innym kompilatorem (gcc, instalowanym osobno) prawdopodobnie zadaje kłopoty. –

+1

gcc instaluje własne nagłówki C++, ale dla nagłówków C historia jest inna. Próbuje użyć własnych nagłówków C systemu. W niektórych (ok, wielu) systemach nagłówki C nie są zgodne z ANSI, więc gcc dostarczy własne "stałe" nagłówki, aby zastąpić kilka "uszkodzonych" nagłówków systemu. Ale dla nagłówków, które nie muszą być "naprawione", nie będzie ich kopii gcc. Użyty zostanie tylko oryginalny nagłówek systemu. Aby uzyskać szczegółowe informacje, zapoznaj się z dokumentacją kroku gcc "fix-includes", gdy gcc jest kompilowany ze źródła. –

+0

Znalazłem te błędy podczas próby ręcznego zainstalowania poszczególnych pakietów. Używam Pythona 2.7 z conda jako menedżera środowiska, i mam zainstalowany gcc 5.0 wszystko w mac os x 10.12.3 Sierra. O ile pamiętam, moje narzędzia gcc i wiersza poleceń zostały idealnie zainstalowane i uruchomione. W każdym razie, przeinstalowanie ich, rozwiąż problem. – Hugo

Powiązane problemy