Heim > Backend-Entwicklung > C++ > Hauptteil

„Fehler: ‚Kein Mitglied namens ‚Signbit' im globalen Namespace' nach dem Catalina-Upgrade: Was ist die Lösung?'

Patricia Arquette
Freigeben: 2024-11-18 05:34:02
Original
127 Leute haben es durchsucht

Fehler: „Kein Mitglied namens ‚signbit‘ im globalen Namespace“ nach dem Catalina-Upgrade

Beim Upgrade auf macOS Catalina von Mojave ist bei Benutzern beim Kompilieren ein Fehler aufgetreten Programme, die das header:

error: no member named 'signbit' in the global namespace
Nach dem Login kopieren

Dieser Fehler ist auf die Tatsache zurückzuführen, dass Catalina /usr/include mit System Integrity Protection (SIP) bereinigt und schützt. Daher können alle Projekte, die erwarten, C-Header in diesem Verzeichnis zu finden, nicht kompiliert werden.

Lösung:

Um dieses Problem zu beheben, muss der Build gesteuert werden System zu den entsprechenden Headern:

  1. Stellen Sie sicher, dass Xcode aktualisiert ist:Verwenden Sie die neueste Version von Xcode, um dies zu vermeiden Mögliche Inkompatibilitäten.
  2. Setzen Sie CMAKE_OSX_SYSROOT: Setzen Sie diese Variable mit einer der folgenden Methoden auf das Ergebnis von xcrun --show-sdk-path:

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

Wenn diese Schritte das Problem beheben, Erwägen Sie die Suche nach besseren Ansätzen zum Festlegen dieser Flags in CMake. Darüber hinaus kann die Deaktivierung von SIP (wenn auch abenteuerlich) eine vorübergehende Lösung darstellen. Es wird jedoch empfohlen, Fehler an Projekte zu melden, die noch C-Header in /usr/include erwarten.

Das obige ist der detaillierte Inhalt von„Fehler: ‚Kein Mitglied namens ‚Signbit' im globalen Namespace' nach dem Catalina-Upgrade: Was ist die Lösung?'. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage