Nie można skompilować programu w C na komputerze Mac po uaktualnieniu do Mojave


159

Użyłem polecenia gcc na terminalu do kompilowania programów w C, ale nagle, po aktualizacji systemu operacyjnego mojego Maca (do macOS 10.14 Mojave i XCode 10.0), zacząłem otrzymywać wiadomość:

test.c:8:10: fatal error: stdio.h: No such file or directory
#include <stdio.h>
         ^~~~~~~~~
compilation terminated.

Mam już zainstalowane gcc, ponieważ mogę je znaleźć /usr/local/bini naprawdę jest tam gcc. Próbowałem uruchomić ten sam plik na moim innym komputerze iMac i działał bez problemu.

Próbowałem uruchomić xcode-select --installi został już zainstalowany, dlatego nie rozwiązało to problemu, który mam teraz. Zgaduję, że ścieżka jest pomieszana, ponieważ nie wydaje się, aby można ją było znaleźć gccpo rozpoczęciu kopiowania i wklejania niektórych poleceń z innych zasobów, aby rozwiązać ten problem.

Chciałbym uzyskać pomoc w tej sprawie.


5
Możesz sprawdzić ścieżki wyszukiwania gcc używającecho "#include <a.h>" | gcc -v -x c -
Matt

2
Bardzo często xocde-select --installjest to właściwe rozwiązanie. Do którego systemu zostałeś uaktualniony? Mojave 10.14? Który XCode masz zainstalowany? 10.0 czy inna wersja?
Jonathan Leffler

39
@JonathanLeffler Znalazłem sposób. Jeśli używamy XCode 10, zauważysz, że jeśli przejdziesz do / usr w Finderze, nie zobaczysz już folderu o nazwie `` include '', dlatego terminal skarży się na brak plików nagłówkowych, które są zawarte w folder „include”. W tym oświadczeniu o wersji developer.apple.com/documentation/xcode_release_notes/ ... (przechodzisz do /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg i uruchamiasz ten pakiet, aby zainstalować folder „include”). W takim razie powinieneś być gotowy.
Maxxx

1
Kiedy wszystko inne zawiedzie, przeczytaj instrukcję! Albo informacje o wydaniu. Nie jestem strasznie zaskoczony, widząc, że Apple chce odwrócić się od dziedzictwa Uniksa. Jestem rozczarowany. Jeśli będą ostrożni, mogą mnie odepchnąć. Dziękuję za informację; Poeksperymentuję z tym później (po kilkugodzinnym przymknięciu oczu).
Jonathan Leffler

16
Po zainstalowaniu pakietu ( open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgw wierszu poleceń) mam /usr/includeponownie, a moje GCC 8.2.0 znów działa. Dzięki za wskazówkę; dobra robota na znalezieniu go. Proponuję napisać odpowiedź, ponieważ prawdopodobnie inne osoby będą miały problem.
Jonathan Leffler

Odpowiedzi:


264

TL; DR

Upewnij się, że pobrałeś najnowszy pakiet `` Narzędzia wiersza poleceń '' i uruchom go z terminala (wiersza poleceń):

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Aby uzyskać więcej informacji na temat Cataliny, zobacz Nie można skompilować programu w języku C na komputerze Mac po uaktualnieniu do wersji Catalina 10.15 .


Wydobywanie częściowo spójnej odpowiedzi z dość obszernych komentarzy…

Preambuła

Bardzo często xcode-select --installbyło to właściwe rozwiązanie, ale tym razem nie wydaje się pomagać. Czy próbowałeś uruchomić główny interfejs GUI Xcode? Może zainstalować dodatkowe oprogramowanie i wyczyścić. Zrobiłem to po zainstalowaniu Xcode 10.0, ale tydzień lub więcej temu, na długo przed aktualizacją do Mojave.

Zauważyłem, że jeśli twoje GCC jest zainstalowane w /usr/local/bin, prawdopodobnie nie używasz GCC z Xcode; to jest zwykle instalowane w /usr/bin.

Ja też zaktualizowałem do macOS 10.14 Mojave i Xcode 10.0. Jednak zarówno system, jak /usr/bin/gcci system /usr/bin/clangdziałają dla mnie ( Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0dla obu). Mam problem z nie znajdowaniem nagłówków w mojej domowej kompilacji GCC 8.2.0 /usr/include, co jest równoległe do problemu z /usr/local/bin/gccnie znajdowaniem nagłówków.

Zrobiłem trochę porównania, a moja maszyna Mojave /usr/includew ogóle nie /usr/bin/clangma , ale jest w stanie poprawnie skompilować. Nagłówek ( _stdio.hz początkowym podkreśleniem) był w moim starym /usr/include; teraz go brakuje (stąd mój problem z GCC 8.2.0). Uruchomiłem xcode-select --installi powiedział " xcode-select: note: install requested for command line developer tools", a następnie uruchomiłem instalator GUI, który pokazał mi licencję, na którą się zgodziłem, i pobrał i zainstalował narzędzia wiersza poleceń - a przynajmniej tak twierdził.

Następnie uruchomiłem GUI Xcode (przestrzeń poleceń, Xcode, powrót) i powiedziałem, że muszę zainstalować więcej oprogramowania, ale nadal nie /usr/include. Ale mogę skompilować z /usr/bin/clangi /usr/bin/gcc- a -vopcja sugeruje, że używają

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Rozwiązanie robocze

Następnie Maxxx zauważył :

Znalazłem sposób. Jeśli korzystamy z Xcode 10, zauważysz, że jeśli przejdziesz do /usrw Finderze, nie zobaczysz już folderu o nazwie „include”, dlatego terminal skarży się na brak plików nagłówkowych, które są w nim zawarte folder „include”. W informacjach o wydaniu Xcode 10.0 jest napisane, że istnieje pakiet:

/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg 

i powinieneś zainstalować ten pakiet, aby mieć /usr/includezainstalowany folder. W takim razie powinieneś być gotowy.

Gdy wszystko inne zawiedzie, przeczytaj instrukcję lub, w tym przypadku, uwagi do wydania. Nie jestem strasznie zaskoczony, gdy stwierdzam, że Apple chce odwrócić się od swojego uniksowego dziedzictwa, ale jestem rozczarowany. Jeśli będą ostrożni, mogą mnie odepchnąć. Dziękuję za informację.

Po zainstalowaniu pakietu za pomocą następującego polecenia w wierszu poleceń, /usr/includeznowu mam , a moje GCC 8.2.0 znów działa.

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Pobieranie narzędzi wiersza poleceń

Jak Vesal wskazuje w cennym komentarzu , musisz pobrać pakiet narzędzi wiersza poleceń dla Xcode 10.1 na Mojave 10.14, a możesz to zrobić z:

Aby pobrać plik, musisz zalogować się za pomocą Apple ID. Po zakończeniu pobierania zainstaluj pakiet narzędzi wiersza polecenia. Następnie zainstaluj nagłówki zgodnie z opisem w sekcji „Rozwiązanie robocze”.

To działało dla mnie na Mojave 10.14.1. Musiałem to pobrać wcześniej, ale zapomniałem, gdy odpowiadałem na to pytanie.

Zaktualizuj do Mojave 10.14.4 i Xcode 10.2

Około 17.05.2019 zaktualizowałem do Mojave 10.14.4, a narzędzia wiersza poleceń Xcode 10.2 również zostały zaktualizowane (lub narzędzia wiersza poleceń Xcode 10.1 zostały zaktualizowane do 10.2). openPolecenia pokazane powyżej stałe brakujących nagłówków. Nadal mogą pojawić się przygody związane z uaktualnieniem głównego Xcode do 10.2, a następnie ponownym ponownym zainstalowaniem narzędzi wiersza poleceń i pakietu nagłówków.

Uaktualnij do Xcode 10.3 (dla Mojave 10.14.6)

W dniu 2019-07-22 dostałem powiadomienie za pośrednictwem App Store, że aktualizacja do Xcode 10.3 jest dostępna i zawiera SDK dla iOS 12.4, tvOS 12.4, watchOS 5.3 i macOS Mojave 10.14.6. Zainstalowałem go na jednym z moich komputerów 10.14.5, uruchomiłem go i zainstalowałem dodatkowe komponenty, tak jak sugerował, i wydaje się, że pozostał /usr/includenienaruszony.

Później tego samego dnia odkryłem, że dostępny jest również macOS Mojave 10.14.6 (Preferencje systemowe ⟶ Aktualizacja oprogramowania) wraz z pakietem narzędzi wiersza poleceń IIRC (został pobrany i zainstalowany automatycznie). Zainstalowanie aktualizacji systemu operacyjnego po raz kolejny wymazało /usr/include, ale openpolecenie u góry odpowiedzi przywróciło ją ponownie. Data, którą miałem w pliku dla openpolecenia, to 2019-07-15.

Zaktualizuj do XCode 11.0 (dla Catalina 10.15)

Aktualizacja do XCode 11.0 („obejmuje Swift 5.1 i SDK dla iOS 13, tvOS 13, watchOS 6 i macOS Catalina 10.15”) została wydana 21.09.2019. Zostałem powiadomiony o „dostępnych aktualizacjach”, pobrałem go i zainstalowałem na komputerach z systemem macOS Mojave 10.14.6 za pośrednictwem aplikacji App Store (zakładka aktualizacje) bez problemów i bez konieczności korzystania z /usr/include. Natychmiast po instalacji (przed uruchomieniem samej aplikacji) spróbowałem ponownej kompilacji i powiedziano mi:

Wyrażenie zgody na licencję Xcode / iOS wymaga uprawnień administratora, uruchom „sudo xcodebuild -license”, a następnie ponów to polecenie.

Uruchomienie that ( sudo xcodebuild -license) pozwoliło mi uruchomić kompilator. Od tego czasu uruchamiam aplikację, aby zainstalować dodatkowe składniki, których potrzebuje; nadal nie ma problemu. Zobaczymy, co się stanie, gdy zaktualizuję do samej Cataliny - ale moje komputery z systemem macOS Mojave 10.14.6 są w tej chwili w porządku (2019-09-24).


4
ach, dzięki za napisanie tego. Bardzo cenione. Twoje zdrowie!
Maxxx

6
Rozwiązałem to za mnie !!! Dziękuję bardzo za poświęcenie czasu na napisanie tego!
budekatude

8
GRUMP !!! Wraz z aktualizacją 10.14.1 sytuacja znów się zmieniła - a przynajmniej wydaje się, że znowu się zmieniły. Wydaje mi się, że aktualizacja O / S zniknęła/usr/include, a pakiet wymieniony w powyższej odpowiedzi nie jest obecny/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgixcode-select --installmówi, że narzędzia wiersza poleceń obecnie nie są dostępne.
Jonathan Leffler

15
Fcking Apple. Nie mogą po prostu zostawić rzeczy, które działają, muszą je przenosić, dodawać kroki i tworzyć zmiany.

7
W nadziei, że wyszukiwarki znajdą tę odpowiedź, powyższe instrukcje rozwiązał fatal error: bits/ctype_base.h: No such file or directory: #include <bits/ctype_base.h>podczas kompilacji GCC 7.4.0 używając libstdc ++ na Mojave dla mnie
Adam Lindberg

30

Po wypróbowaniu każdej odpowiedzi, którą mogłem znaleźć tutaj i w Internecie, nadal otrzymywałem błędy dotyczące niektórych brakujących nagłówków. Podczas próby skompilowania pyRFR otrzymywałem błędy dotyczące stdexceptbraku znalezienia, które najwyraźniej nie zostały zainstalowane /usr/includez innymi nagłówkami. Jednak znalazłem miejsce, w którym ukrywał się w Mojave i dodałem to na końcu mojego ~/.bash_profilepliku:

export CPATH=/Library/Developer/CommandLineTools/usr/include/c++/v1

Po wykonaniu tej czynności mogę teraz skompilować pyRFR i inne programy C / C ++. Zgodnie z tym echo | gcc -E -Wp,-v -, gcc szukał tych nagłówków w starej lokalizacji (bez /c++/v1), ale nie w nowej, więc dodanie tego do CFLAGS naprawiło to.


Nic nie działało, ale ten zadziałał. Dziękuję Ci bardzo!!
Felix

2
wickedsickbrothnx
Davis Dulin

23

Kiedy ty

  • zaktualizowany do Mojave 10.14.6
  • Twój /usr/includezostał ponownie usunięty
  • pakietu wymienionego w @ Jonathan-lefflers odpowiedź już nie istnieje The file /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg does not exist.i
  • Xcode skarży się, że narzędzia wiersza poleceń są już zainstalowane xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Następnie tym, co pomogło mi odzyskać wspomniany pakiet, było usunięcie całego CommandLineToolsfolderu (sudo) rm -rf /Library/Developer/CommandLineToolsi ponowne jego zainstalowanie xcode-select --install.


Doskonały! Po twoich krokach macOS_SDK_headers_for_macOS_10.14.pkguzyskaj dostępne, a polecenie open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgzrobiło to, co miało zrobić. Stukrotne dzięki!!
Bruno Ambrozio

3
Dla mnie zadziałało: export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include
rbieber

Dziękuję Ci! Utknąłem, ale to naprawdę działało dla mnie z Mojave 10.4.6 i XCode 11.3.1
Simeon G

Za każdym razem, gdy Apple publikuje aktualizację systemu, muszę rozwiązać ten problem z Clionem w inny sposób.
igonejack

12

Problem polega na tym, że Xcode, szczególnie Xcode 10.x, nie zainstalował wszystkiego, więc upewnij się, że narzędzia wiersza poleceń są zainstalowane, wpisz to w powłoce terminala:

xcode-select --install

uruchom również Xcode i upewnij się, że zainstalowano wszystkie wymagane instalacje (jeśli tak nie jest, powinieneś otrzymać monit), a ponieważ Xcode 10 nie instaluje pełnego zestawu SDK systemu Mac OS, uruchom instalator w

/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

ponieważ ten pakiet nie jest instalowany przez Xcode 10.


1
To mnie uratowało. Wielkie dzięki!
Demven Weir


5

UWAGA: Poniższe informacje są prawdopodobnie bardzo kontekstowe i ograniczone czasowo przed zmianą / ogólną dostępnością macos Catalina 10.15. Nowy laptop. Piszę 1 października 2019 r.

Sądzę, że te szczególne okoliczności spowodowały u mnie problemy z budową. W większości innych przypadków mogą nie mieć zastosowania.

Kontekst:

  • macos 10.14.6 Mojave, Xcode 11.0, tuż przed premierą macos Catalina 10.15 . Nowo zakupiony Macbook Pro.

  • niepowodzenie pip install psycopg2, które jest w zasadzie kompilacją pakietu Pythona ze źródła.

  • Dokonałem już szeregu sugerowanych poprawek w udzielonych tutaj odpowiedziach.

Moje błędy:

pip install psycopg2
Collecting psycopg2
  Using cached https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz
Installing collected packages: psycopg2
  Running setup.py install for psycopg2 ... error
    ERROR: Command errored out with exit status 1:
     command: xxxx/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/bk/_1cwm6dj3h1c0ptrhvr2v7dc0000gs/T/pip-install-z0qca56g/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/bk/_1cwm6dj3h1c0ptrhvr2v7dc0000gs/T/pip-install-z0qca56g/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/bk/_1cwm6dj3h1c0ptrhvr2v7dc0000gs/T/pip-record-ef126d8d/install-record.txt --single-version-externally-managed --compile --install-headers xxx/venv/include/site/python3.6/psycopg2


...
/usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -pipe -Os -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -DPSYCOPG_VERSION=2.8.3 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=90615 -DHAVE_LO64=1 -I/Users/jluc/kds2/py2/venv/include -I/opt/local/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -I. -I/opt/local/include/postgresql96 -I/opt/local/include/postgresql96/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.14-x86_64-3.6/psycopg/psycopgmodule.o

    clang: warning: no such sysroot directory: 
'/Applications/Xcode.app/Contents/Developer/Platforms
                              ❌👇the real error👇❌
/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]
    In file included from psycopg/psycopgmodule.c:27:
    In file included from ./psycopg/psycopg.h:34:
    /opt/local/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m/Python.h:25:10: fatal error: 'stdio.h' file not found
                             ❌👆 what I thought was the error 👆❌
    #include <stdio.h>
             ^~~~~~~~~
    1 error generated.

    It appears you are missing some prerequisite to build the package 

Co zrobiłem do tej pory, niczego nie naprawiając:

  • xcode-select --install
  • zainstalowany xcode
  • open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Wciąż ten sam błąd na stdio.h.

który istnieje w wielu miejscach:

(venv) jluc@bemyerp$ mdfind -name stdio.h
/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/usr/include/_stdio.h
/usr/include/secure/_stdio.h
/usr/include/stdio.h   👈 I believe this is the one that's usually missing.
                            but I have it.
/usr/include/sys/stdio.h
/usr/include/xlocale/_stdio.h

A więc przejdźmy do tego pierwszego katalogu, na który clangnarzekają i spójrzmy:

(venv) jluc@gotchas$ cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
(venv) jluc@SDKs$ ls -l
total 0
drwxr-xr-x  8 root  wheel  256 Aug 29 23:47 MacOSX.sdk
drwxr-xr-x  4 root  wheel  128 Aug 29 23:47 DriverKit19.0.sdk
drwxr-xr-x  6 root  wheel  192 Sep 11 04:47 ..
lrwxr-xr-x  1 root  wheel   10 Oct  1 13:28 MacOSX10.15.sdk -> MacOSX.sdk  👈
drwxr-xr-x  5 root  wheel  160 Oct  1 13:34 .

Hah, mamy łącze symboliczne dla MacOSX10.15.sdk , ale żadnego dla MacOSX10.14.sdk . Oto mój pierwszy clangbłąd:

clang: warning: no such sysroot directory: '/Applications/Xcode.app/.../Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]

Domyślam się, że Apple wyskoczyło z pistoletu na ich konfiguracji xcode i już myśli, że są na Catalinie. Ponieważ jest to nowy komputer Mac, nie ma starej konfiguracji dla 10.14.

POPRAWKA:

Załóżmy, że link symboliczny 10.14 jest taki sam jak 10.15:

ln -s MacOSX.sdk/ MacOSX10.14.sdk

btw, jeśli przejdę do tego katalogu sdk, znajdę:

...
./usr/include/sys/stdio.h
./usr/include/stdio.h
....

WYNIK:

pip install psycopg2 Pracuje.

Uwaga: faktyczna komenda pip install nie odnosiła się do MacOSX10.14.sdk , który pojawił się później, prawdopodobnie przez mechanizm instalacji Pythona introspekcji wersji systemu operacyjnego.


Którego pipużywasz? Myślę, że to może być kluczowy problem.
Franklin Yu

3

Koniecznie sprawdź Preferencje Xcode -> Lokalizacje.

Wybrane przeze mnie narzędzia wiersza poleceń były przeznaczone dla poprzedniej wersji Xcode (8.2.1 zamiast 10.1)


2

Miał podobne problemy jak PO

Kwestia

witaj kota. c

#include <stdlib.h>
int main() { exit(0); }

clang hello. c

/usr/local/include/stdint.h:2:10: error: #include nested too deeply
etc...

Próba naprawy

Zainstalowałem najnowszą wersję XCode, jednak uwagi do wydania wskazywały, że plik wspomniany w poprzedniej poprawce, pochodzący z Jonathana tutaj, nie był już dostępny.

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Szczegóły tutaj https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes , w sekcji Nowe funkcje .


Rozwiązanie, które zadziałało dla mnie ...

Korzystając ze szczegółów w tym komentarzu, https://github.com/SOHU-Co/kafka-node/issues/881#issuecomment-396197724

Okazało się, że brew doctorzgłosiłam, że w moim /usr/local/folderze znajdują się nieużywane pliki dołączone .

Aby to naprawić, użyłem polecenia dostarczonego przez użytkownika HowCrazy , aby znaleźć nieużywane dołączenia i przenieść je do folderu tymczasowego.

Powtarzane tutaj ...

mkdir /tmp/includes
brew doctor 2>&1 | grep "/usr/local/include" | awk '{$1=$1;print}' | xargs -I _ mv _ /tmp/includes

Po uruchomieniu skryptów problem z plikiem dołączanym zniknął. Uwaga: tutaj też skomentowałem tę kwestię .


1

Miałem ten problem i nic nie działało . Pobiegłem xcode-select --installi też zainstalowałem /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg.

TŁO

Ponieważ miałem problemy z App Store na nowym laptopie, byłem zmuszony pobrać instalator Xcode Beta ze strony Apple, aby zainstalować Xcode poza App Store . Więc zainstalowałem tylko Xcode Beta .

ROZWIĄZANIE

To (chyba) powodowało, clangże nie mogłem znaleźć SDKROOTkatalogu /Applications/Xcode.app/...., ponieważ nie ma go Betaw ścieżce, a może Xcode Beta po prostu go nie instaluje (nie wiem). Aby rozwiązać ten problem, musiałem usunąć Xcode Beta i rozwiązać problem ze sklepem App Store, aby zainstalować nową wersję.

tldr;

Jeśli masz Xcode Beta , spróbuj wyczyścić wszystko i zainstalować wersję wydania, zanim wypróbujesz rozwiązania, które działają dla innych osób.


1

Wypróbowałem prawie wszystkie opublikowane rozwiązania i nic nie działało. Używam Mojave OS (10.14.6) i co w końcu zadziałało (po usunięciu i ponownej instalacji Xcode oraz CLT i nagłówków SDK):

  1. Zainstaluj Clang v8 z https://cran.r-project.org/bin/macosx/tools/
  2. Zmodyfikuj następujące wiersze z pliku ~ / .R / Makevars
CC=/usr/local/opt/llvm/bin/clang -fopenmp
CXX=/usr/local/opt/llvm/bin/clang++

z

CC=/usr/local/clang8/bin/clang -fopenmp
CXX=/usr/local/clang8/bin/clang++

Teraz pakiety R, które opierają się na kompilatorach języka C, są instalowane pomyślnie


0

Jak Jonathan Leffler wskazuje powyżej, plik macOS_SDK_headers.pkg nie istnieje już w Xcode 10.1.

To, co zadziałało, to zrobić, brew upgradea aktualizacje gcc i / lub cokolwiek innego zrobiło homebrew za kulisami, rozwiązało problemy ze ścieżką.


0

/usr/local/includePo tym, jak udało mi się naprawić ten problem w systemie Mac OS Catalina, nadal brakowało zależności apue.h, postępując zgodnie z instrukcjami tej odpowiedzi

Pobrałem zależność ręcznie z gita i umieściłem ją w/usr/local/include


0

Miałem ten sam problem z Golang (debugowanie z Golandem) po migracji. Jedyną (śmieszną) rzeczą, która pomogła, jest zmiana nazwy następującego folderu:

sudo mv /usr/local/include /usr/local/old_include

Najwyraźniej jest to związane ze starymi plikami, które zainstalował homebrew, a teraz jest uszkodzony.


-1

@JL Peyret ma rację!

jeśli masz macos 10.14.6 Mojave, Xcode 11.0+

następnie

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

sudo ln -s MacOSX.sdk / MacOSX10.14.sdk


Czy to nie powinien być komentarz?
Franklin Yu
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.