Maison >développement back-end >C++ >Pourquoi est-ce que je reçois des erreurs « Aucun membre nommé signbit » après la mise à niveau vers Catalina ?
Erreur : lors de l'utilisation de
Après la mise à niveau vers Catalina, en utilisant les en-têtes du
Cause :
L'erreur est probablement causée par un paramètre CMAKE_OSX_SYSROOT incorrect. Sur Catalina, le répertoire /usr/include, où se trouvent traditionnellement les en-têtes C, a été purgé et protégé par SIP. Cela signifie que les projets qui s'attendent à trouver des en-têtes C dans /usr/include ne parviendront pas à se compiler.
Solution :
Pour résoudre le problème, vous devez pointer le build système aux emplacements corrects du collecteur. Voici les étapes à suivre :
Dans CMake :
(a) Définissez CMAKE_OSX_SYSROOT sur /sdk/path.
OU
(b) Définissez CMAKE_CXX_FLAGS avec l'indicateur -isysroot /sdk/path.
Supplémentaire Options :
Si les solutions ci-dessus ne fonctionnent pas, vous pouvez essayer de désactiver SIP, bien que cela ne soit pas recommandé. Vous pouvez trouver des instructions sur la façon de procéder en vous référant au lien fourni dans le texte de la réponse.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!