Mengapa / usr / termasuk hilang? Saya sudah menginstal Xcode dan Command Line Tools (Mojave)

6

Saya baru saja memutakhirkan ke Mojave dari High Sierra dan menginstal Xcode plus alat baris perintah dan alat tambahan. Tidak ada yang dapat dikompilasi dari terminal, semuanya mengatakan / usr / include tidak ada!

Saya memeriksa dan SEMUA dir terkait Dev di bawah / usr hilang!

Ada yang tahu cara memperbaikinya?

Bryan Dunphy
sumber

Jawaban:

10

Anda harus menjalankan langkah lain setelah menginstal alat-alat baris perintah:

installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Mengapa? Tidak tahu, biasanya Apple OS baru membangun tarian alat.

Nicholas Smith
sumber
3
Nicholas Smith: Bagaimana Anda mengetahui hal ini?
Bryan Dunphy
1
Aku bahkan tidak punya direktori Paket ?!
nohillside
Saya melihatnya di StackOverflow di beberapa titik dan itu menempel di kepala saya.
Nicholas Smith
Anda mungkin memerlukan alat baris perintah sebelum mencoba ini. Lihat jawaban ini .
ephsmith
1
Anda mungkin perlu menggunakan sudo untuk mendapatkan perintah ini berfungsi
stackErr
4

"Mengapa" adalah karena Apple telah menolak memiliki / usr / include berbeda dari SDK. Anda tidak harus bergantung pada itu untuk maju.

Kompiler sudah tahu untuk menemukan menyertakan mereka di dalam SDK, sehingga tidak perlu lagi direktori / usr / include. Anda dapat menemukan direktori instalasi SDK untuk file-file yang disertakan xcrun --show-sdk-path

Perry
sumber
4
Apakah ini didokumentasikan di mana saja?
Mark
Kecuali fakta bahwa macOS disertifikasi unix04.
lanza
Sesuai dengan Spesifikasi Unix Tunggal atau POSIX tidak mengharuskan / usr / include hadir dalam sistem file.
Perry
Dan ya, itu didokumentasikan dalam dokumentasi SDK.
Perry
itu kompiler mungkin tahu, tetapi bagaimana dengan berbagai alat konfigurasi, mis. autoconf. Banyak makro autoconf ditulis dengan asumsi bahwa ada sesuatu yang bermakna di / usr, saya percaya. Misalnya. apakah AC_CHECK_HEADER masih berfungsi?
Dima Pasechnik