Mojave'ye yükselttikten sonra Mac'te C programı derlenemiyor


159

C programlarını derlemek için terminaldeki gcc komutunu kullandım, ancak Mac işletim sistemimin (macOS 10.14 Mojave ve XCode 10.0'a) bir güncellemesinden sonra aniden, mesajı almaya başladım:

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

Ben zaten bulabildiğim gibi gcc yüklü /usr/local/binvar ve gerçekten orada bir gcc var. Aynı dosyayı diğer iMac'ımda çalıştırmayı denedim ve herhangi bir sorun olmadan çalıştı.

Çalışmayı denedim xcode-select --installve zaten kurulmuştu, bu yüzden şu anda yaşadığım sorunu düzeltmedi. gccBu sorunu çözmek için diğer kaynaklardan bazı komutları kopyalayıp yapıştırmaya başladıktan sonra göründüğü gibi görünmüyor gibi yol berbat olduğunu tahmin ediyorum.

Bu konuda biraz yardım istiyorum.


5
Kullanarak gcc arama yollarını kontrol edebilirsinizecho "#include <a.h>" | gcc -v -x c -
Matt

2
Çoğu zaman, xocde-select --installdoğru çözümdür. Hangi o / s sürümlerine geçtiniz? Mojave 10.14? Hangi XCode'u kurdunuz? 10.0 veya başka bir sürümü?
Jonathan Leffler

39
@JonathanLeffler Bir yol buldum. XCode 10 kullanıyorsanız, Finder'da / usr'a giderseniz artık 'include' adlı bir klasör görmeyeceğinizi fark edeceksiniz, bu yüzden terminal, içinde bulunan başlık dosyalarının bulunmamasından şikayet ediyor 'include' klasörü. Bu sürüm bildiriminde developer.apple.com/documentation/xcode_release_notes/… (/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg adresine gidin ve 'include' klasörünü yüklemek için bu paketi çalıştırın). O zaman gitmek için iyi olmalısın.
Maxxx

1
Her şey başarısız olduğunda kılavuzu okuyun! Veya sürüm notları. Apple'ın Unix mirasına sırtını çevirmek istediğini bulmak beni çok şaşırtmadı. Hayal kırıklığına uğradım. Eğer dikkatli olurlarsa beni uzaklaştırabilirlerdi. Bilgi için teşekkürler; Bunu daha sonra deneyeceğim (birkaç saat kapandıktan sonra).
Jonathan Leffler

16
Paketi yükledikten sonra ( open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgkomut satırında), /usr/includeyine var ve GCC 8.2.0'ım bir kez daha çalışıyor. İşaretçi için teşekkürler; bulmak için aferin. Sorunu yazmanızı öneririm, çünkü muhtemelen problemle karşılaşan başka insanlar olacak.
Jonathan Leffler

Yanıtlar:


264

TL; DR

En son 'Komut Satırı Araçları' paketini indirdiğinizden ve bunu bir terminalden (komut satırı) çalıştırdığınızdan emin olun:

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

Catalina hakkında bilgi için bkz . Catalina 10.15 sürümüne yükselttikten sonra Mac'te C programı derlenemiyor .


Oldukça kapsamlı yorumlardan yarı tutarlı bir cevap çıkarılıyor…

önsöz

Çoğu zaman, xcode-select --installdoğru çözüm olmuştur, ancak bu sefer yardımcı olmuyor gibi görünüyor. Ana Xcode GUI arayüzünü çalıştırmayı denediniz mi? Sizin için ekstra yazılım yükleyebilir ve temizleyebilir. Bunu Xcode 10.0'u yükledikten sonra yaptım, ancak bir hafta veya daha fazla önce, Mojave'ye yükseltmeden çok önce.

GCC'niz kurulu ise /usr/local/bin , muhtemelen Xcode'dan GCC'yi kullanmadığınızı ; normalde yüklü /usr/bin.

Ben de macOS 10.14 Mojave ve Xcode 10.0'a güncelledim. Ancak, sistem hem /usr/bin/gccsistem /usr/bin/clang(benim için çalışıyoruz Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0her ikisi için.) Ben 8.2.0 görmediklerine başlıklarının benim ev yapımı GCC ile ilgili bir sorun /usr/includeile sorunun paralel olduğu,/usr/local/bin/gcc başlıkları ya bulamamak.

Biraz karşılaştırma yaptım ve Mojave makinemde hiç yok /usr/include, ancak /usr/bin/clangTamam'ı derleyebiliyor. Bir başlık ( _stdio.h, önde gelen alt çizgi ile) benim eski vardı /usr/include; şimdi eksik (bu nedenle GCC 8.2.0 ile ilgili sorunum). Koştum xcode-select --installve dedi ki "xcode-select: note: install requested for command line developer tools " ve sonra kabul ettiğim bir lisansı gösteren bir GUI yükleyicisi çalıştırdım ve komut satırı araçlarını indirip yükledi - ya da iddia etti.

Daha sonra Xcode GUI (komut alanı, Xcode, dönüş) çalıştırdım ve daha fazla yazılım yüklemesi gerektiğini söyledi, ancak yine de hayır /usr/include. Ama derleyebilirim /usr/bin/clangve /usr/bin/gcc- ve -vseçenek kullandıklarını gösteriyor

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

Çalışma çözümü

Sonra Maxxx şunları kaydetti :

Bir yol buldum. Xcode 10 kullanıyorsak,/usr , Finder'da giderseniz, artık 'include' adlı bir klasör , bu yüzden terminalde içerilen başlık dosyalarının yokluğundan şikayet ediyor 'include' klasörü. In Xcode 10.0 Sürüm Notları , bir paket olduğunu söyler:

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

ve /usr/includeklasörü yüklemek için bu paketi yüklemelisiniz. O zaman gitmek için iyi olmalısın.

Her şey başarısız olduğunda, kılavuzu veya bu durumda sürüm notlarını okuyun. Apple'ın Unix mirasına sırtını çevirmek istediğini bulmak beni çok şaşırtmadı, ama hayal kırıklığına uğradım. Eğer dikkatli olurlarsa beni uzaklaştırabilirlerdi. Bilgi için teşekkürler.

Komut satırında aşağıdaki komutu kullanarak paketi yükledikten sonra, /usr/includeyine var ve GCC 8.2.0'ım bir kez daha çalışıyor.

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

Komut Satırı Araçlarını İndirme

As Vesal değerli içinde işaret yorumun , sen Mojave 10.14 tarihinde Xcode 10.1 için Komut Satırı Araçları paketini indirmek gerekir ve aralarından yapabilirsiniz:

İndirme işlemini alabilmek için bir Apple Kimliği ile giriş yapmanız gerekir. İndirme işlemini tamamladığınızda Komut Satırı Araçları paketini yükleyin. Ardından, başlıkları 'Çalışma Çözümü' bölümünde açıklandığı şekilde takın.

Bu benim için Mojave 10.14.1'de çalıştı. Bunu daha önce indirmiş olmalıydım, ama bu soruyu cevapladığım zaman unutmuştum.

Mojave 10.14.4 ve Xcode 10.2 sürümüne yükseltme

2019-05-17'de veya hakkında, Mojave 10.14.4'e güncelledim ve Xcode 10.2 komut satırı araçları da yükseltildi (veya Xcode 10.1 komut satırı araçları 10.2'ye yükseltildi). openGösterilen komut yukarıdaki eksik başlıklarını düzeltildi. Ana Xcode'u 10.2'ye yükseltmek ve daha sonra komut satırı araçlarını ve üstbilgiler paketini yeniden yüklemekle birlikte gelmek için maceralar olabilir.

Xcode 10.3'e yükseltin (Mojave 10.14.6 için)

2019-07-22'de App Store aracılığıyla Xcode 10.3'e yükseltmenin mevcut olduğunu ve iOS 12.4, tvOS 12.4, watchOS 5.3 ve macOS Mojave 10.14.6 için SDK'ları içerdiğini fark ettim. 10.14.5 makinelerimden birini kurdum ve çalıştırdım ve önerildiği gibi ekstra bileşenler kurdum ve /usr/includesağlam kalmış gibi görünüyor .

Aynı günün ilerleyen saatlerinde macOS Mojave 10.14.6 sürümünün de (Sistem Tercihleri ​​⟶ Yazılım Güncellemesi) ve Komut Satırı Yardımcı Programları paketi IIRC'nin (otomatik olarak indirilip yüklendiği) bulunduğunu keşfettim. O / s güncellemesinin yüklenmesi bir kez daha silindi /usr/include, ancak opencevabın üstündeki komut tekrar eski haline getirildi. İçin dosyada bulunduğum tarihopenKomutun 2019-07-15 idi.

XCode 11.0'a yükseltin (Catalina 10.15 için)

XCode 11.0'a yükseltme ("iOS 13, tvOS 13, watchOS 6 ve macOS Catalina 10.15 için Swift 5.1 ve SDK'ları içerir") 2019-09-21 yayınlandı. 'Güncellemeler mevcut' konusunda bilgilendirildim ve App Store uygulaması (güncellemeler sekmesi) aracılığıyla macOS Mojave 10.14.6 çalıştıran makinelere sorunsuz bir şekilde indirip yükledim /usr/include. Kurulumdan hemen sonra (uygulamanın kendisini çalıştırmadan önce), yeniden derlemeyi denedim ve söylendi:

Xcode / iOS lisansını kabul etmek için yönetici ayrıcalıkları gerekir, lütfen “sudo xcodebuild -license” komutunu çalıştırın ve ardından bu komutu yeniden deneyin.

Bunu sudo xcodebuild -licenseçalıştırmak derleyiciyi çalıştırmama izin verdi. O zamandan beri, uygulamayı ekstra bileşenleri yüklemek için çalıştırıyorum; hala sorun yok. Catalina'ya yükselttiğimde ne olacağı hala görülüyor - ama macOS Mojave 10.14.6 makinelerim şu anda iyi durumda (2019-09-24).


4
Bunu yazdığın için teşekkürler. Çok takdir etmek. Şerefe!
Maxxx

6
Benim için çözdü !!! Bunu yazmak için zaman ayırdığınız için çok teşekkürler!
budekatude

8
Grump !!! 10.14.1 güncellemesi ile işler tekrar değişti - ya da en azından tekrar değişti. Bana göre, o / s güncellemesi patladı /usr/includeve yukarıdaki cevapta listelenen paket mevcut değil /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgve xcode-select --installkomut satırı araçlarının şu anda kullanılabilir olmadığını söylüyor.
Jonathan Leffler

15
Apple Fcking. Sadece işe yarayan şeyleri bırakamazlar, bir şeyleri hareket ettirmek, adımlar eklemek ve karmaşa oluşturmak zorundadırlar.

7
Arama motorlarının bu cevabı bulacağı umuduyla, yukarıdaki talimatlar fatal error: bits/ctype_base.h: No such file or directory: #include <bits/ctype_base.h>benim için Mojave'de libstdc ++ kullanarak GCC 7.4.0'ı derlerken çözüldü
Adam Lindberg

30

Burada ve çevrimiçi bulabildiğim her yanıtı denedikten sonra bazı eksik başlıklar için hala hata alıyordum. PyRFR derlemeye çalışırken, stdexceptgörünüşe göre /usr/includediğer başlıklar ile yüklü olmayan bulunamadı hataları hakkında alıyordum . Ancak, nerede Mojave saklandığı bulundu ve bu benim ~/.bash_profiledosya sonuna ekledi :

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

Bunu yaptıktan sonra, pyRFR ve diğer C / C ++ programlarını derleyebilirim. Buna göre echo | gcc -E -Wp,-v -, gcc bu başlıklar için eski konumda bakıyordu (olmadan /c++/v1), ancak yeni konum değil, bu yüzden CFLAGS'a eklemek sorunu düzeltti.


Hiçbir şey işe yaramadı, ama bu işe yaramadı. Çok teşekkür ederim!!
Felix

2
wickedsickbrothnx
Davis

23

Sen ne zaman

  • güncellendi Mojave 10.14.6
  • sizin /usr/include tekrar silindi
  • @ Jonathan-lefflers cevabında belirtilen paket artık mevcut değil The file /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg does not exist. ve
  • Xcode, komut satırı araçlarının zaten yüklü olduğundan şikayet ediyor xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Sonra, bahsettiğim paketi kurtarmama yardımcı olan, tüm CommandLineToolsklasörü silip (sudo) rm -rf /Library/Developer/CommandLineToolsyeniden yüklemekti xcode-select --install.


Mükemmel! Adımlarınızdan sonra, macOS_SDK_headers_for_macOS_10.14.pkghazır olun ve komut open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg, yapılması gerekeni yaptı. Milyonlarca kez teşekkürler!!
Bruno Ambrozio

3
Benim için aşağıdakiler çalıştı:export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include
rbieber

Teşekkür ederim! Sıkıştım ama bu gerçekten benim için Mojave 10.4.6 ve XCode 11.3.1 ile çalıştı
Simeon G

Apple her sistem güncellemesi yayınladığında Clion ile bu sorunu farklı bir şekilde düzeltmem gerekiyor.
igonejack

12

Sorun, Xcode'un, özellikle Xcode 10.x'in her şeyi yüklemediğinden, komut satırı araçlarının yüklendiğinden emin olun, bunu bir terminal kabuğuna yazın:

xcode-select - yükle

ayrıca Xcode'u başlatın ve gerekli tüm kurulumun yüklendiğinden emin olun (eğer değilse istenir.) ve Xcode 10 tam Mac OS SDK'yı yüklemediğinden, yükleyiciyi şu adresten çalıştırın:

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

çünkü bu paket Xcode 10 tarafından kurulmamıştır.


1
Bu beni kurtardı. Çok teşekkürler!
Demven Weir

7

Bu GitHub yorumunda harika bir çözüm ve açıklama buldum . Numara:

make SDKROOT=`xcrun --show-sdk-path` MACOSX_DEPLOYMENT_TARGET=

İşi yaptı.


5

NOT: Aşağıdakiler, macos Catalina 10.15'in değiştirilmesinden / genel kullanılabilirliğinden önce büyük olasılıkla oldukça içeriksel ve zaman sınırlıdır. Yeni dizüstü bilgisayar. Bu 1 Ekim 2019 yazıyorum.

Bu özel koşullar, sanırım, benim için sorun yaratmaya neden olan şey. Diğer çoğu durumda geçerli olmayabilirler.

Bağlam:

  • macos 10.14.6 Mojave, Xcode 11.0, macos Catalina 10.15'in lansmanından hemen önce . Yeni satın alınan Macbook Pro.

  • başarısızlık pip install psycopg2, temelde bir kaynaktan derlenmekte olan bir Python paketi.

  • Burada verilen cevaplarda bir takım önerilen düzenlemeleri zaten yaptım.

Hatalarım:

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 

Şimdiye kadar ne yaptım, hiçbir şey düzeltmeden:

  • xcode-select --install
  • yüklü xcode
  • open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Hala aynı hata stdio.h.

birkaç yerde var olan:

(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

Öyleyse, clangşikayet eden ilk dizine gidelim ve bakalım:

(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, MacOSX10.15.sdk için bir symlink'imiz var , ancak MacOSX10.14.sdk için hiçbir symlink'imiz yok . İşte benim ilk clanghatam:

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

Benim tahminim Apple silahlarını xcode yapılandırmasında atladı ve zaten Catalina'da olduklarını düşünüyor. Yeni bir Mac olduğundan, 10.14 için eski yapılandırma mevcut değil.

ÇÖZÜM:

10.14'ü 10.15 ile aynı şekilde ele alalım:

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

btw, o sdk dizinine gidersem, buluyorum:

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

SONUÇ:

pip install psycopg2 İşler.

Not: gerçek pip install komutu, Mac OSX10.14.sdk'ye , muhtemelen işletim sistemi versiyonunu inceleyen Python kurulum mekanizması tarafından daha sonra geldi.


Hangisini pipkullanıyorsun? Bence kilit problem bu olabilir.
Franklin Yu

3

Xcode Tercihleri ​​-> Konumlar'ı kontrol ettiğinizden emin olun.

Seçtiğim Komut Satırı Araçları, Xcode'un önceki sürümü içindi (10.1 yerine 8.2.1)


2

OP ile benzer problemler yaşadı

Konu

kedi merhaba. c

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

clang merhaba.c

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

Düzeltilmeye çalışıldı

XCode'un en son sürümünü yükledim, ancak Jonathan'dan önceki düzeltmede belirtilen dosyanın artık mevcut olmadığını gösteren sürüm notları.

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

Ayrıntılar burada https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes altında, Yeni Özellikler bölümüne.


Benim için işe yarayan çözüm ...

Bu yorumdaki ayrıntıları kullanarak, https://github.com/SOHU-Co/kafka-node/issues/881#issuecomment-396197724

onu buldum brew doctor benim kullanılmayan dahil edildi bildirildi/usr/local/Klasörümde .

Düzeltmek için kullanıcı tarafından sağlanan komutu kullandım HowCrazy kullandım bulmak ve geçici bir klasöre taşımak için kullandım.

Burada tekrar ...

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

Komut dosyalarını çalıştırdıktan sonra, içerme dosyası sorunu ortadan kalktı. nb: Burada da bu konuda yorum yaptım .


1

Bu sorunu yaşıyordum ve hiçbir şey işe yaramadı . Koştum xcode-select --installve kurdum /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg.

ARKA FON

Yeni bir dizüstü bilgisayarda App Store ile ilgili sorunlar yaşadığımdan , Xcode Beta yükleyiciyi Apple web sitesinden Xcode'u App Store dışına yüklemek için indirmek zorunda kaldım . Bu yüzden sadece Xcode Beta yükledim.

ÇÖZÜM

Bu, (sanırım), dizinde clangbulamıyordum , çünkü yolda hiç yok , ya da belki Xcode Beta yüklemez (bilmiyorum). Bu sorunu gidermek için, ben kaldırmak zorunda Xcode Beta ve çözmek App Store sürümünü yüklemek için sorunu.SDKROOT/Applications/Xcode.app/....Beta

TLDR;

Xcode Beta'ya sahipseniz, başkaları için çalışan çözümleri denemeden önce her şeyi temizlemeyi ve yayın sürümünü yüklemeyi deneyin.


1

Neredeyse gönderilen tüm çözümleri denedim ve hiçbir şey benim için işe yaramadı. Mojave OS (10.14.6) ve nihayet benim için neyin işe yaradığını (Xcode ve CLT'leri ve SDK başlıklarını kaldırdıktan ve yeniden yükledikten sonra) kullanıyorum:

  1. Clang v8'i https://cran.r-project.org/bin/macosx/tools/ adresinden yükleyin.
  2. ~ / .R / Makevars dosyasından aşağıdaki satırları değiştirin
CC=/usr/local/opt/llvm/bin/clang -fopenmp
CXX=/usr/local/opt/llvm/bin/clang++

ile

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

Şimdi C derleyicilerine dayanan R paketleri başarıyla yükleniyor


0

Jonathan Leffler'in yukarıda işaret ettiği gibi, macOS_SDK_headers.pkg dosyası artık Xcode 10.1'de yok.

Benim için işe brew upgradeyarayan şey oldu ve gcc ve / veya homebrew'un perde arkasında yaptıkları her şey güncellemeleri yol sorunlarını çözdü.



0

Göçten sonra Golang (Goland ile hata ayıklama) ile aynı sorunu yaşadım. Yardımcı olan tek (saçma) şey şu klasörü yeniden adlandırmaktır:

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

Görünüşe göre bu homebrew yüklü ve şimdi kırık eski dosyaları ile ilgilidir.


-1

@JL Peyret haklı!

10.14.6 Mojave, Xcode 11.0+ sürümünü kullanıyorsanız

sonra

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

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


Bu bir yorum olmamalı mı?
Franklin Yu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.