Podczas kompilacji projektu w C++ ostatnio zacząłem widzieć następujący błąd:
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdlib.h(94): catastrophic error: cannot open source file "stdlib.h"
#include_next <stdlib.h>
Jest to bardzo dziwne, ponieważ naruszająca linia #include_next <stdlib.h>
znajduje się w pliku /Library/Developer/CommandLineTools/usr/include/c++/v1/stdlib.h
, co oznacza, że plik w jakiś sposób próbuje się dołączyć i kończy się niepowodzeniem.
To jest domyślny plik systemowy, więc nie rozumiem, dlaczego powinien zostać nagle uszkodzony. A rady byłyby bardzo mile widziane.
(Działa na macOS Mojave z kompilatorem Intel icpc)
2 odpowiedzi
Ten problem został ostatecznie rozwiązany przez uruchomienie instalatora macOS_SDK_headers_for_macOS_10.14.pkg
znajdującego się pod adresem /Library/Developer/CommandLineTools/Packages
Następujące polecenie pomogło mi na MacOSX Big Sur: export CPLUS_INCLUDE_PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/
Podobne pytania
Nowe pytania
c++
C ++ to język programowania ogólnego przeznaczenia. Pierwotnie został zaprojektowany jako rozszerzenie C i ma podobną składnię, ale teraz jest to zupełnie inny język. Użyj tego tagu w przypadku pytań dotyczących kodu (który ma zostać) skompilowany za pomocą kompilatora C ++. Użyj znacznika specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardu [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] lub [C ++ 23] itp. .
#include <cstdlib>
?