Heim > Backend-Entwicklung > C++ > Hauptteil

Warum erhalte ich nach dem Upgrade auf Catalina die Fehlermeldung „Kein Mitglied namens signbit'?

Barbara Streisand
Freigeben: 2024-11-16 04:12:03
Original
224 Leute haben es durchsucht

Why Am I Getting

Fehler: Verwendung von Header ergeben kein benanntes Signbit im globalen Namespace

Nach dem Upgrade auf Catalina werden unter Verwendung von Headern aus dem Die Bibliothek führt zu einem Fehler, der darauf hinweist, dass im globalen Namespace keine Mitglieder mit den Namen signbit, fpclassify und isfinite vorhanden sind.

Ursache:

Der Fehler wird wahrscheinlich durch eine verursacht Falsche CMAKE_OSX_SYSROOT-Einstellung. Auf Catalina wurde das Verzeichnis /usr/include, in dem sich traditionell C-Header befinden, gelöscht und durch SIP geschützt. Dies bedeutet, dass Projekte, die erwarten, C-Header in /usr/include zu finden, nicht kompiliert werden können.

Lösung:

Um das Problem zu beheben, müssen Sie auf den Build verweisen System an die richtigen Header-Standorte. Hier sind die folgenden Schritte:

  1. Stellen Sie sicher, dass Xcode auf dem neuesten Stand ist.
  2. Verwenden Sie -isysroot /sdk/path, wobei /sdkpath die Ausgabe von xcrun --show ist -sdk-path, als Compiler-Flag.
  3. In CMake:

    (a) Setzen Sie CMAKE_OSX_SYSROOT auf /sdk/path.

    ODER

    (b) Setzen Sie CMAKE_CXX_FLAGS mit dem Flag -isysroot /sdk/path.

Zusätzlich Optionen:

Wenn die oben genannten Lösungen nicht funktionieren, können Sie versuchen, SIP zu deaktivieren, obwohl dies nicht empfohlen wird. Anweisungen dazu finden Sie über den bereitgestellten Link im Antworttext.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich nach dem Upgrade auf Catalina die Fehlermeldung „Kein Mitglied namens signbit'?. 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