Tidak dapat mengkompilasi program C pada Mac setelah meningkatkan ke Mojave


159

Saya telah menggunakan perintah gcc pada terminal untuk mengkompilasi program C tetapi tiba-tiba, setelah pembaruan ke OS Mac saya (ke macOS 10.14 Mojave, dan XCode 10.0), saya mulai menerima pesan:

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

Saya sudah menginstal gcc karena saya dapat menemukannya /usr/local/bindan benar-benar ada gcc di sana. Saya mencoba menjalankan file yang sama di iMac saya yang lain dan berhasil tanpa masalah.

Saya mencoba menjalankan xcode-select --installdan sudah diinstal, maka itu tidak memperbaiki masalah yang saya alami sekarang. Saya menduga bahwa jalannya kacau karena sepertinya tidak dapat menemukannya gccsetelah saya mulai menyalin dan menempelkan beberapa perintah dari sumber lain untuk menyelesaikan masalah ini.

Perlu bantuan dalam hal ini.


5
Anda dapat memeriksa jalur pencarian gcc menggunakanecho "#include <a.h>" | gcc -v -x c -
Matt

2
Sangat sering, xocde-select --installadalah solusi yang tepat. Di mana Anda tingkatkan ke? Mojave 10.14? XCode mana yang sudah Anda instal? 10.0 atau versi lain?
Jonathan Leffler

39
@JonathanLeffler Saya sudah menemukan cara. Jika kita menggunakan XCode 10, Anda akan melihat bahwa jika Anda menavigasi ke / usr di Finder, Anda tidak akan melihat folder yang disebut 'include' lagi yang mengapa terminal mengeluh tentang tidak adanya file header yang terkandung di dalam folder 'sertakan'. Dalam pernyataan rilis ini, developer.apple.com/documentation/xcode_release_notes/… (Anda menavigasi ke /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg dan menjalankan paket itu untuk menginstal folder 'include'). Maka Anda harus baik untuk pergi.
Maxxx

1
Ketika semuanya gagal, baca manualnya! Atau catatan rilis. Saya tidak terlalu terkejut menemukan Apple ingin membalikkan punggung mereka pada warisan Unix. Saya kecewa. Jika mereka berhati-hati, mereka bisa mengusir saya. Terima kasih untuk informasinya; Saya akan bereksperimen dengannya nanti (setelah beberapa jam tutup mata).
Jonathan Leffler

16
Setelah menginstal paket ( open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgpada baris perintah), saya miliki /usr/includelagi, dan GCC 8.2.0 saya berfungsi sekali lagi. Terima kasih untuk penunjuknya; dilakukan dengan baik pada menemukannya. Saya sarankan Anda menuliskan jawabannya karena mungkin akan ada orang lain yang mengalami masalah.
Jonathan Leffler

Jawaban:


264

TL; DR

Pastikan Anda telah mengunduh paket 'Alat Baris Perintah' terbaru dan menjalankannya dari terminal (baris perintah):

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

Untuk beberapa informasi tentang Catalina, lihat Tidak dapat mengkompilasi program C pada Mac setelah meningkatkan ke Catalina 10.15 .


Mengekstraksi jawaban semi-koheren dari komentar yang agak luas ...

Pembukaan

Sangat sering, xcode-select --install telah menjadi solusi yang tepat, tetapi tampaknya tidak membantu saat ini. Sudahkah Anda mencoba menjalankan antarmuka GUI Xcode utama? Mungkin menginstal beberapa perangkat lunak tambahan untuk Anda dan membersihkan. Saya melakukan itu setelah menginstal Xcode 10.0, tetapi seminggu atau lebih yang lalu, jauh sebelum memutakhirkan ke Mojave.

Saya amati bahwa jika GCC Anda diinstal /usr/local/bin, Anda mungkin tidak menggunakan GCC dari Xcode; yang biasanya dipasang di/usr/bin .

Saya juga telah memperbarui ke macOS 10.14 Mojave dan Xcode 10.0. Namun, baik sistem /usr/bin/gccdan sistem /usr/bin/clangberfungsi untuk saya ( Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0untuk keduanya.) Saya punya masalah dengan GCC 8.2.0 buatan rumah saya tidak menemukan header /usr/include, yang sejajar dengan masalah Anda dengan/usr/local/bin/gcc tidak menemukan header juga.

Saya telah melakukan sedikit perbandingan, dan mesin Mojave saya tidak memiliki /usr/includesama sekali, namun /usr/bin/clangmampu mengkompilasi OK. Tajuk ( _stdio.h, dengan garis bawah utama) ada di yang lama /usr/include; itu hilang sekarang (maka masalah saya dengan GCC 8.2.0). Saya berlari xcode-select --installdan berkata "xcode-select: note: install requested for command line developer tools " dan kemudian menjalankan pemasang GUI yang menunjukkan kepada saya lisensi yang saya setujui, dan itu mengunduh dan menginstal alat-alat baris perintah - atau seperti yang diklaimnya.

Saya kemudian menjalankan Xcode GUI (ruang perintah, Xcode, kembali) dan dikatakan perlu menginstal beberapa perangkat lunak lagi, tetapi masih belum ada /usr/include. Tapi saya bisa mengkompilasi dengan /usr/bin/clangdan /usr/bin/gcc- dan -vopsi menyarankan mereka gunakan

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

Solusi kerja

Lalu Maxxx mencatat :

Saya telah menemukan cara. Jika kami menggunakan Xcode 10, Anda akan melihat bahwa jika Anda menavigasi ke /usrdalam Finder, Anda tidak akan melihat folder yang disebut 'sertakan' lagi, itulah sebabnya terminal mengeluh tidak adanya file header yang terdapat di dalam folder 'sertakan'. Dalam Catatan Rilis Xcode 10.0 , dikatakan ada paket:

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

dan Anda harus menginstal paket itu agar /usr/includefoldernya diinstal. Maka Anda harus baik untuk pergi.

Ketika semuanya gagal, baca manual atau, dalam hal ini, catatan rilis. Saya tidak terlalu terkejut menemukan Apple ingin membalikkan punggung mereka pada warisan Unix mereka, tetapi saya kecewa. Jika mereka berhati-hati, mereka bisa mengusir saya. Terima kasih untuk informasinya.

Setelah menginstal paket menggunakan perintah berikut di baris perintah, saya miliki /usr/includelagi, dan GCC 8.2.0 saya berfungsi sekali lagi.

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

Mengunduh Alat Baris Perintah

Seperti yang ditunjukkan Vesal dalam komentar berharga , Anda perlu mengunduh paket Alat Baris Perintah untuk Xcode 10.1 di Mojave 10.14, dan Anda dapat melakukannya dari:

Anda harus masuk dengan ID Apple untuk bisa mengunduh. Setelah selesai mengunduh, instal paket Alat Baris Perintah. Kemudian pasang tajuk seperti yang dijelaskan di bagian 'Solusi Bekerja'.

Ini bekerja untuk saya di Mojave 10.14.1. Saya pasti sudah mengunduh ini sebelumnya, tetapi saya sudah lupa pada saat saya menjawab pertanyaan ini.

Tingkatkan ke Mojave 10.14.4 dan Xcode 10.2

Pada atau sekitar 2019-05-17, saya memperbarui ke Mojave 10.14.4, dan alat baris perintah Xcode 10.2 juga ditingkatkan (atau alat baris perintah Xcode 10.1 ditingkatkan menjadi 10.2). Ituopen perintah yang ditunjukkan di atas tetap header hilang. Mungkin masih ada petualangan yang datang dengan meningkatkan Xcode utama ke 10.2 dan kemudian menginstal ulang alat-alat baris perintah dan paket header.

Tingkatkan ke Xcode 10.3 (untuk Mojave 10.14.6)

Pada 2019-07-22, saya mendapat pemberitahuan melalui App Store bahwa upgrade ke Xcode 10.3 tersedia dan itu termasuk SDK untuk iOS 12.4, tvOS 12.4, watchOS 5.3 dan macOS Mojave 10.14.6. Saya menginstalnya salah satu dari 10.14.5 mesin saya, dan menjalankannya, dan menginstal komponen tambahan seperti yang disarankan, dan tampaknya telah meninggalkan/usr/include utuh.

Kemudian pada hari yang sama, saya menemukan bahwa macOS Mojave 10.14.6 juga tersedia (System Preferences Update Update Software), bersama dengan paket Command Line Utilities IIRC (itu diunduh dan diinstal secara otomatis). Menginstal pembaruan o / s, sekali lagi, menghapus /usr/include, tetapi openperintah di bagian atas jawaban mengembalikannya lagi. Tanggal yang saya miliki di file untukopen perintah adalah 2019-07-15.

Tingkatkan ke XCode 11.0 (untuk Catalina 10.15)

Upgrade ke XCode 11.0 ("termasuk Swift 5.1 dan SDKs untuk iOS 13, tvOS 13, watchOS 6 dan macOS Catalina 10.15") dirilis 2019-09-21. Saya diberitahu tentang 'pembaruan yang tersedia', dan mengunduh serta menginstalnya ke mesin yang menjalankan macOS Mojave 10.14.6 melalui aplikasi App Store (tab pembaruan) tanpa masalah, dan tanpa harus repot /usr/include. Segera setelah instalasi (sebelum menjalankan aplikasi itu sendiri), saya mencoba sebuah kompilasi dan diberi tahu:

Menyetujui lisensi Xcode / iOS memerlukan hak admin, silakan jalankan "sudo xcodebuild -license" dan kemudian coba lagi perintah ini.

Menjalankan itu ( sudo xcodebuild -license) memungkinkan saya untuk menjalankan kompiler. Sejak itu, saya menjalankan aplikasi untuk menginstal komponen tambahan yang dibutuhkan; masih tidak masalah. Masih harus dilihat apa yang terjadi ketika saya memutakhirkan ke Catalina sendiri - tetapi mesin macOS Mojave 10.14.6 saya baik-baik saja saat ini (2019-09-24).


4
ah terima kasih sudah menulis ini. Sangat dihargai. Bersulang!
Maxxx

6
Menyelesaikannya untukku !!! Terima kasih banyak telah meluangkan waktu untuk menulis ini!
budekatude

8
GRUMP !!! Banyak hal telah berubah lagi dengan pembaruan 10.14.1 - atau, setidaknya, mereka tampaknya telah berubah lagi. Bagi saya, tampaknya pembaruan o / s meledak/usr/include, dan paket yang tercantum dalam jawaban di atas tidak ada/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgdanxcode-select --installmengatakan bahwa alat baris perintah saat ini tidak tersedia.
Jonathan Leffler

15
Fcking Apple. Mereka tidak bisa begitu saja meninggalkan hal-hal yang berhasil, mereka harus memindahkan barang-barang, menambahkan langkah-langkah dan membuat churn.

7
Dengan harapan mesin pencari akan menemukan jawaban ini, instruksi di atas diselesaikan fatal error: bits/ctype_base.h: No such file or directory: #include <bits/ctype_base.h>ketika mengkompilasi GCC 7.4.0 menggunakan libstdc ++ di Mojave untuk saya
Adam Lindberg

30

Setelah mencoba setiap jawaban yang dapat saya temukan di sini dan online, saya masih mendapatkan kesalahan untuk beberapa header yang hilang. Ketika mencoba mengkompilasi pyRFR, saya mendapatkan kesalahan tentang stdexcepttidak ditemukan, yang tampaknya tidak diinstal /usr/includedengan header lain. Namun, saya menemukan di mana ia bersembunyi di Mojave dan menambahkan ini ke akhir ~/.bash_profilefile saya :

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

Setelah melakukan itu, saya sekarang dapat mengkompilasi pyRFR dan program C / C ++ lainnya. Menurut echo | gcc -E -Wp,-v -, gcc sedang mencari di lokasi lama untuk tajuk ini (tanpa /c++/v1), tetapi bukan lokasi baru, jadi menambahkan bahwa untuk CFLAGS memperbaikinya.


Tidak ada yang berhasil, tetapi yang ini berhasil. Terima kasih banyak!!
Felix

2
wickedsickbrothnx
Davis Dulin

23

Kapan kamu

  • diperbarui ke Mojave 10.14.6
  • Anda /usr/includetelah dihapus lagi
  • paket yang disebutkan dalam jawaban @ Jonathan-lefflers tidak ada lagi The file /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg does not exist.dan
  • Xcode mengeluh bahwa alat-alat baris perintah sudah diinstal xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Kemudian, apa yang membantu saya memulihkan paket yang disebutkan, menghapus seluruh CommandLineToolsfolder (sudo) rm -rf /Library/Developer/CommandLineToolsdan menginstalnya kembali xcode-select --install.


Luar biasa! Setelah langkah Anda, macOS_SDK_headers_for_macOS_10.14.pkgdapatkan tersedia, dan perintah open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgmelakukan apa yang seharusnya dilakukan. Terima kasih banyak!!
Bruno Ambrozio

3
Bagi saya, yang berikut ini berhasil: export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include
rbieber

Terima kasih! Saya macet tetapi ini benar-benar bekerja untuk saya dengan Mojave 10.4.6 dan XCode 11.3.1
Simeon G

Setiap kali Apple merilis pembaruan sistem, saya harus memperbaiki masalah ini dengan Clion dengan cara yang berbeda.
igonejack

12

Masalahnya adalah bahwa Xcode, terutama Xcode 10.x, belum menginstal semuanya, jadi pastikan alat-alat baris perintah diinstal, ketik ini di shell terminal:

xcode-select --install

juga jalankan Xcode dan pastikan semua instalasi yang diperlukan telah diinstal (Anda harus diminta jika tidak.) dan karena Xcode 10 tidak menginstal Mac OS SDK lengkap, jalankan installer di

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

karena paket ini tidak diinstal oleh Xcode 10.


1
Ini menyelamatkan saya. Terima kasih banyak!
Demven Weir

7

Saya telah menemukan solusi dan penjelasan yang bagus di komentar GitHub ini . Trik-nya:

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

Melakukan pekerjaan.


5

CATATAN: Berikut ini kemungkinan sangat kontekstual dan terbatas waktu sebelum beralih / ketersediaan umum macos Catalina 10.15. Laptop baru. Saya menulis ini 1 Oktober 2019.

Keadaan khusus ini, saya percaya, apa yang menyebabkan masalah membangun bagi saya. Mereka mungkin tidak berlaku dalam kebanyakan kasus lain.

Konteks:

  • macos 10.14.6 Mojave, Xcode 11.0, tepat sebelum peluncuran macos Catalina 10.15 . Macbook Pro yang baru dibeli.

  • kegagalan aktif pip install psycopg2, yang pada dasarnya adalah paket Python yang dikompilasi dari sumber.

  • Saya sudah melakukan sejumlah penyesuaian yang disarankan dalam jawaban yang diberikan di sini.

Kesalahan saya:

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 

Apa yang saya lakukan sejauh ini, tanpa memperbaiki apa pun:

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

Masih kesalahan yang sama pada stdio.h.

yang ada di sejumlah tempat:

(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

Jadi, mari kita pergi ke direktori pertama clangyang mengeluh dan lihat:

(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, kami memiliki symlink untuk MacOSX10.15.sdk , tetapi tidak ada untuk MacOSX10.14.sdk . Ini clangkesalahan pertama saya lagi:

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

Dugaan saya adalah Apple melompati pistol pada konfigurasi xcode mereka dan sudah berpikir mereka ada di Catalina. Karena ini adalah Mac baru, konfigurasi lama untuk 10.14 tidak ada.

THE FIX:

Mari symlink 10.14 dengan cara yang sama seperti 10.15:

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

btw, jika saya pergi ke direktori SDK itu, saya menemukan:

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

HASIL:

pip install psycopg2 bekerja.

Catatan: perintah pemasangan pip yang sebenarnya tidak merujuk ke MacOSX10.14.sdk , yang muncul kemudian, mungkin oleh mekanisme instalasi Python yang mengintrospeksi versi OS.


Yang pipkamu gunakan Saya pikir itu bisa menjadi masalah utama.
Franklin Yu

3

Pastikan untuk memeriksa Preferensi Xcode -> Lokasi.

Alat Baris Perintah yang saya pilih adalah untuk versi Xcode sebelumnya (8.2.1 bukannya 10.1)


2

Punya masalah yang sama seperti OP

Isu

kucing hello.c

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

dentang hello.c

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

Upaya yang diupayakan

Saya menginstal versi terbaru XCode, namun, catatan rilis menunjukkan file yang disebutkan dalam perbaikan sebelumnya, dari Jonathan di sini, tidak lagi tersedia.

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

Detail di sini https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes , di bawah bagian Fitur Baru .


Solusi yang berhasil untuk saya ...

Menggunakan detail dalam komentar ini, https://github.com/SOHU-Co/kafka-node/issues/881#issuecomment-396197724

Saya menemukan bahwa brew doctormelaporkan bahwa saya tidak menggunakan yang termasuk dalam /usr/local/folder saya .

Jadi untuk memperbaikinya, saya menggunakan perintah yang disediakan oleh pengguna HowCrazy , untuk menemukan menyertakan tidak terpakai dan memindahkannya ke folder sementara.

Diulangi di sini ...

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

Setelah menjalankan skrip, masalah file sertakan hilang. nb: Saya juga berkomentar tentang masalah ini di sini .


1

Saya mengalami masalah ini dan tidak ada yang berhasil . Saya berlari xcode-select --installdan juga menginstal /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg.

LATAR BELAKANG

Karena saya mengalami masalah dengan App Store pada laptop baru, saya terpaksa mengunduh penginstal Xcode Beta dari situs web Apple untuk menginstal Xcode di luar App Store . Jadi saya hanya menginstal Xcode Beta .

LARUTAN

Ini, (saya pikir), dibuat clanguntuk tidak menemukan SDKROOTdirektori /Applications/Xcode.app/...., karena tidak ada Betadi jalan, atau mungkin Xcode Beta tidak menginstalnya (saya tidak tahu). Untuk memperbaiki masalah ini, saya harus menghapus Xcode Beta dan menyelesaikan masalah App Store untuk menginstal versi rilis.

tldr;

Jika Anda memiliki Xcode Beta , coba bersihkan semuanya dan instal versi rilis sebelum mencoba solusi yang berfungsi untuk orang lain.


1

Saya mencoba hampir semua solusi yang diposting dan tidak ada yang berhasil untuk saya. Saya menggunakan Mojave OS (10.14.6) dan apa yang akhirnya berhasil bagi saya (setelah menghapus dan menginstal ulang Xcode dan CLTs dan header SDK):

  1. Instal Clang v8 dari https://cran.r-project.org/bin/macosx/tools/
  2. Ubah baris berikut dari file ~ / .R / Makevars
CC=/usr/local/opt/llvm/bin/clang -fopenmp
CXX=/usr/local/opt/llvm/bin/clang++

dengan

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

Sekarang paket R yang mengandalkan kompiler C berhasil diinstal


0

Seperti yang ditunjukkan Jonathan Leffler di atas, file macOS_SDK_headers.pkg tidak lagi ada di Xcode 10.1.

Apa yang berhasil bagi saya adalah melakukan brew upgradedan pembaruan gcc dan / atau apa pun yang dilakukan homebrew di belakang layar menyelesaikan masalah jalur.


0

Ketergantungan apue.h masih hilang pada saya /usr/local/includesetelah saya berhasil memperbaiki masalah ini pada Mac OS Catalina mengikuti instruksi dari jawaban ini

Saya mengunduh dependensi secara manual dari git dan meletakkannya di/usr/local/include


0

Saya memiliki masalah yang sama dengan Golang (debugging dengan Goland) setelah migrasi. Satu-satunya (konyol) yang membantu adalah mengganti nama folder berikut:

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

Rupanya itu terkait dengan file-file lama yang diinstal homebrew dan sekarang rusak.


-1

@ JL Peyret benar!

jika Anda makro 10.14.6 Mojave, Xcode 11.0+

kemudian

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

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


Bukankah ini seharusnya komentar?
Franklin Yu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.