Maison > développement back-end > C++ > le corps du texte

'Erreur : 'aucun membre nommé 'signbit' dans l'espace de noms global' après la mise à niveau de Catalina : quelle est la solution ?'

Patricia Arquette
Libérer: 2024-11-18 05:34:02
original
127 Les gens l'ont consulté

Erreur : "aucun membre nommé 'signbit' dans l'espace de noms global" Après la mise à niveau de Catalina

Lors de la mise à niveau vers macOS Catalina depuis Mojave, les utilisateurs ont rencontré une erreur lors de la compilation programmes utilisant le header :

error: no member named 'signbit' in the global namespace
Copier après la connexion

Cette erreur provient du fait que Catalina purge et protège /usr/include avec la protection de l'intégrité du système (SIP). Par conséquent, tous les projets qui s'attendent à trouver des en-têtes C dans ce répertoire ne pourront pas être compilés.

Solution :

Pour résoudre ce problème, il est nécessaire de diriger le build système aux en-têtes appropriés :

  1. Assurez-vous que Xcode est mis à jour :Utilisez la dernière version de Xcode pour éviter les incompatibilités potentielles.
  2. Définissez CMAKE_OSX_SYSROOT : Définissez cette variable sur le résultat de xcrun --show-sdk-path en utilisant l'une des méthodes suivantes :

    • set(CMAKE_OSX_SYSROOT /sdk/path)
    • set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")

Si ces étapes résolvent le problème, envisagez d'explorer de meilleures approches pour définir ces indicateurs dans CMake. De plus, la désactivation de SIP (bien qu’aventureuse) peut constituer une solution temporaire. Cependant, il est recommandé de signaler les bogues aux projets qui attendent toujours des en-têtes C dans /usr/include.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal