Heim >Backend-Entwicklung >C++ >Warum erhalte ich in Catalina C die Fehlermeldung „Kein Mitglied mit dem Namen ‚signbit' im globalen Namespace'?

Warum erhalte ich in Catalina C die Fehlermeldung „Kein Mitglied mit dem Namen ‚signbit' im globalen Namespace'?

DDD
DDDOriginal
2024-11-15 02:11:02497Durchsuche

Why Am I Getting the

Catalina C: „Kein Mitglied namens ‚signbit‘ im globalen Namespace“ Fehler

Beim Kompilieren eines C-Programms mit Nach dem Upgrade von Mojave auf Catalina können Benutzer auf den folgenden Fehler stoßen:

error: no member named 'signbit' in the global namespace

Dieses Problem tritt auf, wenn der Compiler die korrekte -Datei nicht finden kann. Header, der die Signbit-Funktion enthält.

Um dieses Problem zu lösen, muss sichergestellt werden, dass der Compiler auf die entsprechenden SDKheader verweist.

Lösung

  • Überprüfen Sie die Compilerversion.
  • Setzen Sie die Variable CMAKE_OSX_SYSROOT auf das richtige SDK Pfad mit dem Befehl xcrun --show-sdk-path. Dieser Pfad sollte als Argument für -isysroot verwendet werden.
  • In CMake kann dies erreicht werden, indem die folgende Zeile zur Datei CMakeLists.txt hinzugefügt wird:
set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")

wo /sdk/path ist der von xcrun erhaltene SDK-Pfad.

Darüber hinaus kann es sein, dass der Systemintegritätsschutz (SIP) deaktiviert wird Beheben Sie auch das Problem.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Catalina C die Fehlermeldung „Kein Mitglied mit dem Namen ‚signbit' im globalen Namespace'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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