Maison > développement back-end > C++ > Pourquoi « signbit » est-il manquant dans après la mise à niveau vers Catalina ?

Pourquoi « signbit » est-il manquant dans après la mise à niveau vers Catalina ?

Mary-Kate Olsen
Libérer: 2024-11-12 17:43:02
original
401 Les gens l'ont consulté

Why is Après la mise à niveau vers Catalina ? " /> Après la mise à niveau vers Catalina ? " />

Catalina C : Gestion de l'erreur "signbit" dans

À la suite de la mise à niveau de Mojave vers Catalina, les utilisateurs peuvent rencontrer une compilation problèmes lors du référencement de l'en-tête dans les programmes C. Ce problème se manifeste par des erreurs liées à l'absence de "signbit" dans l'espace de noms global.

Au départ, les tentatives de modification des CFLAGS, CCFLAGS et CXXFLAGS sont effectuées. les variables d'environnement semblent ne donner aucun résultat. Cependant, après un examen plus approfondi, la cause première du problème réside ailleurs.

Le rôle de CMAKE_OSX_SYSROOT

La valeur de CMAKE_OSX_SYSROOT joue. un rôle central dans ce problème. Par défaut, il pointe vers un emplacement incorrect après la mise à niveau vers Catalina. Cette mauvaise configuration entraîne l'utilisation de mauvais fichiers d'en-tête, qui manquent des définitions nécessaires.

Solution. : Définition du CMAKE_OSX_SYSROOT correct

Pour remédier à la situation, il est essentiel de spécifier manuellement le chemin approprié vers les en-têtes du SDK. Ceci peut être réalisé en suivant les étapes suivantes :

  1. Assurez-vous que Xcode est à jour pour éviter d'éventuels problèmes de compatibilité.
  2. Utilisez la commande xcrun --show-sdk-path pour déterminez le chemin correct du SDK.
  3. Modifiez la configuration CMake comme suit :
set(CMAKE_OSX_SYSROOT /sdk/path)
Copier après la connexion

Vous pouvez également définir l'indicateur -isysroot directement pour le compilateur CXX :

set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")
Copier après la connexion

Conclusion

En corrigeant le paramètre incorrect de CMAKE_OSX_SYSROOT, vous pouvez résoudre avec succès l'erreur liée au "signbit" et continuer à développer des programmes C avec dans l'environnement Catalina.

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