首頁 > 後端開發 > C++ > 主體

'錯誤:'全局命名空間中沒有名為'signbit'的成員'Catalina 升級後:解決方案是什麼?”

Patricia Arquette
發布: 2024-11-18 05:34:02
原創
127 人瀏覽過

Catalina 升級後出現錯誤:「全域命名空間中沒有名為'signbit' 的成員」

從Mojave 升級到macOS Catalina 時,使用者在編譯時遇到錯誤使用 的程式header:

error: no member named 'signbit' in the global namespace
登入後複製

此錯誤源自於Catalina使用系統完整性保護 (SIP) 清除和保護 /usr/include 的事實。因此,任何希望在此目錄中找到 C 頭檔的專案都將無法編譯。

解決方案:

要解決此問題,需要直接建構系統到適當的標頭:

  1. 確保Xcode已更新: 使用最新版本Xcode 版本,以避免潛在的不相容。
  2. 設定CMAKE_OSX_SYSROOT: 使用下列方法之一將此變數設定為xcrun --show-sdk-path 的結果:

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

如果這些步驟解決了問題,考慮探索在CMake 中設置這些標誌的更好方法。此外,停用 SIP(​​儘管冒險)可能會提供臨時解決方案。但是,建議向仍需要 /usr/include 中的 C 標頭的項目報告錯誤。

以上是'錯誤:'全局命名空間中沒有名為'signbit'的成員'Catalina 升級後:解決方案是什麼?”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板