Maison >
Article > développement back-end > Pourquoi « signbit » est-il manquant dans
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
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 :
set(CMAKE_OSX_SYSROOT /sdk/path)
Vous pouvez également définir l'indicateur -isysroot directement pour le compilateur CXX :
set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")
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
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!