Impossible de compiler le programme C sur un Mac après la mise à niveau vers Mojave

159

J'ai utilisé la commande gcc sur le terminal pour compiler des programmes C mais tout d'un coup, après une mise à jour du système d'exploitation de mon Mac (vers macOS 10.14 Mojave et XCode 10.0), j'ai commencé à recevoir le message:

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

J'ai déjà installé gcc car je peux le trouver /usr/local/binet il y a vraiment un gcc là-dedans. J'ai essayé d'exécuter le même fichier sur mon autre iMac et cela a fonctionné sans aucun problème.

J'ai essayé de courir xcode-select --installet il était déjà installé, donc cela n'a pas résolu le problème que j'ai maintenant. Je suppose que le chemin est foiré car il ne semble pas pouvoir être trouvé gccaprès avoir commencé à copier et coller des commandes d'autres ressources pour résoudre ce problème.

Voudrais de l'aide à ce sujet.

Maxxx
la source
5
Vous pouvez vérifier les chemins de recherche de gcc en utilisantecho "#include <a.h>" | gcc -v -x c -
Matt
2
Très souvent, xocde-select --installc'est la bonne solution. Vers quel o / s avez-vous mis à niveau? Mojave 10.14? Quel XCode avez-vous installé? 10.0 ou une autre version?
Jonathan Leffler
39
@JonathanLeffler J'ai trouvé un moyen. Si nous utilisons XCode 10, vous remarquerez que si vous naviguez vers / usr dans le Finder, vous ne verrez plus de dossier appelé 'include', c'est pourquoi le terminal se plaint de l'absence des fichiers d'en-tête contenus dans le dossier «inclure». Dans cette déclaration de version, developer.apple.com/documentation/xcode_release_notes/… (vous accédez à /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg et exécutez ce package pour installer le dossier «include»). Alors vous devriez être prêt à partir.
Maxxx du
1
Quand tout le reste échoue, lisez le manuel! Ou les notes de version. Je ne suis pas terriblement surpris de constater qu'Apple souhaite tourner le dos à l'héritage Unix. Je suis déçu. S'ils font attention, ils pourraient me chasser. Merci pour l'information; Je vais l'expérimenter plus tard (après avoir attrapé quelques heures de fermeture).
Jonathan Leffler
16
Après avoir installé le paquet ( open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgen ligne de commande), je l'ai de /usr/includenouveau, et mon GCC 8.2.0 fonctionne à nouveau. Merci pour le pointeur; bravo pour le trouver. Je vous suggère d'écrire la réponse car il y aura probablement d'autres personnes qui se heurteront au problème.
Jonathan Leffler

Réponses:

264

TL; DR

Assurez-vous d'avoir téléchargé le dernier package 'Command Line Tools' et exécutez-le à partir d'un terminal (ligne de commande):

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

Pour plus d'informations sur Catalina, consultez Impossible de compiler un programme C sur un Mac après la mise à niveau vers Catalina 10.15 .


Extraire une réponse semi-cohérente à partir de commentaires assez longs…

Préambule

Très souvent, xcode-select --installa été la bonne solution, mais cela ne semble pas aider cette fois. Avez-vous essayé d'exécuter l'interface graphique principale de Xcode? Il peut installer des logiciels supplémentaires pour vous et nettoyer. Je l'ai fait après l'installation de Xcode 10.0, mais il y a une semaine ou plus, bien avant la mise à niveau vers Mojave.

J'observe que si votre GCC est installé dans /usr/local/bin, vous n'utilisez probablement pas le GCC de Xcode; qui est normalement installé dans /usr/bin.

J'ai moi aussi mis à jour vers macOS 10.14 Mojave et Xcode 10.0. Cependant, le système /usr/bin/gccet le système /usr/bin/clangfonctionnent pour moi ( Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0pour les deux.) J'ai un problème avec mon GCC 8.2.0 construit maison qui ne trouve pas d'en-têtes /usr/include, ce qui est parallèle à votre problème de /usr/local/bin/gccne pas trouver d'en-têtes non plus.

J'ai fait un peu de comparaison, et ma machine Mojave n'en a pas /usr/includedu tout, mais /usr/bin/clangest capable de compiler OK. Un en-tête ( _stdio.h, avec un trait de soulignement au début) était dans mon ancien /usr/include; il manque maintenant (d'où mon problème avec GCC 8.2.0). J'ai couru xcode-select --installet il a dit " xcode-select: note: install requested for command line developer tools" et ensuite lancé un programme d'installation GUI qui m'a montré une licence que j'ai acceptée, et il a téléchargé et installé les outils de ligne de commande - ou c'est ce qu'il prétend.

J'ai ensuite exécuté l'interface graphique Xcode (espace de commande, Xcode, retour) et il a dit qu'il fallait installer plus de logiciel, mais toujours non /usr/include. Mais je peux compiler avec /usr/bin/clanget /usr/bin/gcc- et l' -voption suggère qu'ils utilisent

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

Solution de travail

Puis Maxxx a noté :

J'ai trouvé un moyen. Si nous utilisons Xcode 10, vous remarquerez que si vous naviguez vers le /usrdans le Finder, vous ne verrez plus de dossier appelé `` inclure '', c'est pourquoi le terminal se plaint de l'absence des fichiers d'en-tête contenus à l'intérieur le dossier «inclure». Dans les notes de publication de Xcode 10.0 , il est indiqué qu'il existe un package:

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

et vous devez installer ce package pour que le /usr/includedossier soit installé. Alors vous devriez être prêt à partir.

Lorsque tout le reste échoue, lisez le manuel ou, dans ce cas, les notes de version. Je ne suis pas terriblement surpris de voir qu'Apple souhaite tourner le dos à son héritage Unix, mais je suis déçu. S'ils font attention, ils pourraient me chasser. Merci pour l'information.

Après avoir installé le paquet en utilisant la commande suivante sur la ligne de commande, je l'ai de /usr/includenouveau, et mon GCC 8.2.0 fonctionne à nouveau.

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

Téléchargement des outils de ligne de commande

Comme Vesal le souligne dans un commentaire précieux , vous devez télécharger le package Outils de ligne de commande pour Xcode 10.1 sur Mojave 10.14, et vous pouvez le faire à partir de:

Vous devez vous connecter avec un identifiant Apple pour pouvoir obtenir le téléchargement. Une fois le téléchargement terminé, installez le package des outils de ligne de commande. Ensuite, installez les en-têtes comme décrit dans la section «Solution de travail».

Cela a fonctionné pour moi sur Mojave 10.14.1. J'ai dû le télécharger avant, mais j'avais oublié au moment où je répondais à cette question.

Mettre à niveau vers Mojave 10.14.4 et Xcode 10.2

Le 17/05/2019 ou vers cette date, j'ai mis à jour vers Mojave 10.14.4, et les outils de ligne de commande Xcode 10.2 ont également été mis à niveau (ou les outils de ligne de commande Xcode 10.1 ont été mis à niveau vers 10.2). La opencommande ci-dessus a corrigé les en-têtes manquants. Il peut encore y avoir des aventures à venir avec la mise à niveau du Xcode principal vers la version 10.2, puis la réinstallation des outils de ligne de commande et du package d'en-têtes.

Mettre à niveau vers Xcode 10.3 (pour Mojave 10.14.6)

Le 22/07/2019, j'ai été informé via l'App Store que la mise à niveau vers Xcode 10.3 est disponible et qu'elle comprend des SDK pour iOS 12.4, tvOS 12.4, watchOS 5.3 et macOS Mojave 10.14.6. Je l'ai installé sur l'une de mes machines 10.14.5, je l'ai exécuté, et j'ai installé des composants supplémentaires comme il le suggérait, et il semble avoir laissé /usr/includeintact.

Plus tard le même jour, j'ai découvert que macOS Mojave 10.14.6 était également disponible (Préférences Système ⟶ Mise à jour logicielle), avec un package d'utilitaires de ligne de commande IIRC (il a été téléchargé et installé automatiquement). L'installation de la mise à jour o / s a, une fois de plus, effacé /usr/include, mais la opencommande en haut de la réponse l'a rétablie à nouveau. La date que j'avais dans le fichier pour la opencommande était le 15/07/2019.

Mettre à niveau vers XCode 11.0 (pour Catalina 10.15)

La mise à niveau vers XCode 11.0 ("inclut Swift 5.1 et les SDK pour iOS 13, tvOS 13, watchOS 6 et macOS Catalina 10.15") a été publiée le 21/09/2019. J'ai été informé des `` mises à jour disponibles '', et je les ai téléchargées et installées sur des machines exécutant macOS Mojave 10.14.6 via l'application App Store (onglet Mises à jour) sans problème, et sans avoir à utiliser /usr/include. Immédiatement après l'installation (avant d'avoir exécuté l'application elle-même), j'ai essayé une recompilation et on m'a dit:

Accepter la licence Xcode / iOS nécessite des privilèges d'administrateur, veuillez exécuter «sudo xcodebuild -license», puis réessayer cette commande.

L'exécution de that ( sudo xcodebuild -license) m'a permis d'exécuter le compilateur. Depuis lors, j'ai exécuté l'application pour installer les composants supplémentaires dont elle a besoin; toujours pas de problème. Il reste à voir ce qui se passe lorsque je mets à niveau vers Catalina lui-même - mais mes machines macOS Mojave 10.14.6 sont toutes les deux correctes pour le moment (2019-09-24).

Jonathan Leffler
la source
4
ah merci d'avoir écrit ceci. Très appréciée. À votre santé!
Maxxx le
6
Résolu pour moi !!! Merci beaucoup d'avoir pris le temps d'écrire ceci!
budekatude
8
GRUMP !!! Les choses ont à nouveau changé avec la mise à jour 10.14.1 - ou, du moins, elles semblent avoir changé à nouveau. Pour moi, il semble que la mise à jour o / s a ​​été époustouflante/usr/include, et le package répertorié dans la réponse ci-dessus n'est pas présent/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgetxcode-select --installindique que les outils de ligne de commande ne sont actuellement pas disponibles.
Jonathan Leffler
15
Fcking Apple. Ils ne peuvent pas simplement laisser les choses qui fonctionnent, ils doivent déplacer des choses, ajouter des étapes et créer un taux de désabonnement.
7
Dans l'espoir que les moteurs de recherche trouveront cette réponse, les instructions ci-dessus ont résolu un problème fatal error: bits/ctype_base.h: No such file or directory: #include <bits/ctype_base.h>lors de la compilation de GCC 7.4.0 en utilisant libstdc ++ sur Mojave pour moi
Adam Lindberg
30

Après avoir essayé toutes les réponses que j'ai pu trouver ici et en ligne, j'obtenais toujours des erreurs pour certains en-têtes manquants. Lorsque j'essayais de compiler pyRFR, j'obtenais des erreurs d'indisponibilité, ce stdexceptqui n'était apparemment pas installé /usr/includeavec les autres en-têtes. Cependant, j'ai trouvé où il se cachait dans Mojave et j'ai ajouté ceci à la fin de mon ~/.bash_profilefichier:

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

Cela fait, je peux maintenant compiler pyRFR et d'autres programmes C / C ++. Selon echo | gcc -E -Wp,-v -, gcc recherchait dans l'ancien emplacement ces en-têtes (sans le /c++/v1), mais pas le nouvel emplacement, donc l'ajout de cela à CFLAGS l'a corrigé.

Nigel
la source
Rien n'a fonctionné, mais celui-ci a fonctionné. Merci beaucoup!!
Felix
2
wickedsickbrothnx
Davis Dulin
23

Lorsque vous

  • mis à jour à Mojave 10.14.6
  • votre a /usr/includeété de nouveau supprimé
  • le paquet mentionné dans la réponse @ Jonathan-lefflers n'existe plus The file /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg does not exist.et
  • Xcode se plaint que les outils de ligne de commande sont déjà installés xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Ensuite, ce qui m'a aidé à récupérer le package mentionné, a été de supprimer tout le CommandLineToolsdossier (sudo) rm -rf /Library/Developer/CommandLineToolset de le réinstaller xcode-select --install.

Plattenschieber
la source
Excellent! Après vos étapes, macOS_SDK_headers_for_macOS_10.14.pkgget available et la commande ont open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgfait ce qui était censé faire. Mille mercis!!
Bruno Ambrozio
3
Pour moi, ce qui suit a fonctionné: export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include
rbieber
Je vous remercie! J'étais coincé mais cela a vraiment fonctionné pour moi avec Mojave 10.4.6 et XCode 11.3.1
Simeon G le
Chaque fois qu'Apple publie une mise à jour du système, je dois résoudre ce problème avec Clion de manière différente.
igonejack
12

Le problème est que Xcode, en particulier Xcode 10.x, n'a pas tout installé, alors assurez-vous que les outils de ligne de commande sont installés, tapez ceci dans un shell de terminal:

xcode-select - installer

démarrez également Xcode et assurez-vous que toute l'installation requise est installée (vous devriez être invité si ce n'est pas le cas.) et comme Xcode 10 n'installe pas le SDK Mac OS complet, exécutez le programme d'installation à

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

car ce package n'est pas installé par Xcode 10.

James Rinkevich
la source
1
Cela m'a sauvé. Merci beaucoup!
Demven Weir
7

J'ai trouvé une excellente solution et une explication dans ce commentaire GitHub . L'astuce:

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

A fait le boulot.

Rob
la source
5

REMARQUE: ce qui suit est probablement très contextuel et limité dans le temps avant le basculement / la disponibilité générale de macos Catalina 10.15. Nouvel ordinateur portable. J'écris ce 1er octobre 2019.

Ces circonstances spécifiques sont, je crois, ce qui a causé des problèmes de construction pour moi. Ils peuvent ne pas s'appliquer dans la plupart des autres cas.

Le contexte:

  • macos 10.14.6 Mojave, Xcode 11.0, juste avant le lancement de macos Catalina 10.15 . Macbook Pro récemment acheté.

  • échec sur pip install psycopg2, qui est, fondamentalement, un package Python compilé à partir des sources.

  • J'ai déjà effectué un certain nombre des ajustements suggérés dans les réponses données ici.

Mes erreurs:

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 

Ce que j'ai fait jusqu'à présent, sans rien réparer:

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

Toujours la même erreur sur stdio.h.

qui existe en plusieurs endroits:

(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

Alors, allons à ce premier répertoire clangse plaint et regarde:

(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, nous avons un lien symbolique pour MacOSX10.15.sdk , mais aucun pour MacOSX10.14.sdk . Voici à clangnouveau ma première erreur:

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

Je suppose qu'Apple a sauté le pistolet sur leur configuration xcode et pense déjà qu'ils sont sur Catalina. Puisqu'il s'agit d'un nouveau Mac, l'ancienne configuration pour 10.14 n'est pas en place.

LE CORRECTIF:

Lions symboliquement 10.14 de la même manière que 10.15:

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

btw, si je vais dans ce répertoire sdk, je trouve:

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

RÉSULTAT:

pip install psycopg2 travaux.

Remarque: la commande pip install proprement dite ne faisait aucune référence à MacOSX10.14.sdk , qui est venu plus tard, peut-être par le mécanisme d'installation Python introspectant la version du système d'exploitation.

JL Peyret
la source
Lequel piputilisez-vous? Je pense que cela pourrait être le problème majeur.
Franklin Yu
3

Assurez-vous de vérifier les préférences Xcode -> Emplacements.

Les outils de ligne de commande que j'avais sélectionnés étaient pour la version précédente de Xcode (8.2.1 au lieu de 10.1)

bitbrane
la source
2

A eu des problèmes similaires à l'OP

Problème

chat bonjour.c

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

clang bonjour.c

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

Tentative de correction

J'ai installé la dernière version de XCode, cependant, les notes de publication indiquaient que le fichier mentionné dans le correctif précédent, de Jonathan ici, n'était plus disponible.

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

Détails ici https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes , sous la section Nouvelles fonctionnalités .


Solution qui a fonctionné pour moi ...

En utilisant les détails de ce commentaire, https://github.com/SOHU-Co/kafka-node/issues/881#issuecomment-396197724

J'ai trouvé que brew doctorj'ai signalé que j'avais des inclusions inutilisées dans mon /usr/local/dossier.

Donc, pour corriger, j'ai utilisé la commande fournie par l'utilisateur HowCrazy , pour trouver les inclusions inutilisées et les déplacer vers un dossier temporaire.

Répété ici ...

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

Après avoir exécuté les scripts, le problème du fichier d'inclusion avait disparu. nb: J'ai également commenté cette question ici .

mlo55
la source
1

J'avais ce problème et rien n'a fonctionné . J'ai couru xcode-select --installet aussi installé /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg.

CONTEXTE

Comme j'avais des problèmes avec l' App Store sur un nouvel ordinateur portable, j'ai été obligé de télécharger le programme d'installation de Xcode Beta depuis le site Web d'Apple pour installer Xcode en dehors de l' App Store . Donc je n'avais installé que Xcode Beta .

SOLUTION

Ceci, (je pense), faisait clangpour ne pas trouver le SDKROOTrépertoire /Applications/Xcode.app/...., car il n'y a pas Betade chemin, ou peut-être que Xcode Beta ne l'installe tout simplement pas (je ne sais pas). Pour résoudre le problème, j'ai dû supprimer Xcode Beta et résoudre le problème de l' App Store pour installer la version finale.

tldr;

Si vous avez Xcode Beta , essayez de tout nettoyer et d'installer la version finale avant d'essayer les solutions qui fonctionnent pour d'autres personnes.

Sergio Pulgarin
la source
1

J'ai essayé presque toutes les solutions affichées et rien n'a fonctionné pour moi. J'utilise Mojave OS (10.14.6) et ce qui a finalement fonctionné pour moi (après avoir supprimé et réinstallé Xcode et CLT et les en-têtes SDK):

  1. Installez Clang v8 depuis https://cran.r-project.org/bin/macosx/tools/
  2. Modifiez les lignes suivantes à partir du fichier ~ / .R / Makevars
CC=/usr/local/opt/llvm/bin/clang -fopenmp
CXX=/usr/local/opt/llvm/bin/clang++

avec

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

Maintenant les packages R qui reposent sur des compilateurs C s'installent avec succès

Mak
la source
0

Comme le souligne Jonathan Leffler ci-dessus, le fichier macOS_SDK_headers.pkg n'est plus présent dans Xcode 10.1.

Ce qui a fonctionné pour moi était de faire brew upgradeet les mises à jour de gcc et / ou de tout ce que les homebrews ont fait en coulisses ont résolu les problèmes de chemin.

Dan
la source
0

La dépendance apue.h manquait toujours dans mon /usr/local/includeaprès avoir réussi à résoudre ce problème sur Mac OS Catalina en suivant les instructions de cette réponse

J'ai téléchargé la dépendance manuellement depuis git et l' ai placée dans/usr/local/include

Matthew Barbara
la source
0

J'ai eu le même problème avec Golang (débogage avec Goland) après la migration. La seule chose (ridicule) qui a aidé est de renommer le dossier suivant:

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

Apparemment, il est lié à d'anciens fichiers installés par homebrew et maintenant cassés.

Vladik Y
la source
-1

@JL Peyret a raison!

si vous macos 10.14.6 Mojave, Xcode 11.0+

puis

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

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

user6821154
la source
Cela ne devrait-il pas être un commentaire?
Franklin Yu