ホームページ > バックエンド開発 > C++ > 「エラー: Catalina アップグレード後の「グローバル名前空間に「signbit」という名前のメンバーがありません」: 解決策は何ですか?

「エラー: Catalina アップグレード後の「グローバル名前空間に「signbit」という名前のメンバーがありません」: 解決策は何ですか?

Patricia Arquette
リリース: 2024-11-18 05:34:02
オリジナル
181 人が閲覧しました

エラー: 「グローバル名前空間に 'signbit' という名前のメンバーがありません」 Catalina アップグレード後

Mojave から macOS Catalina にアップグレードすると、コンパイル時にエラーが発生しました を使用するプログラムheader:

error: no member named 'signbit' in the global namespace
ログイン後にコピー

このエラーは、Catalina が System Integrity Protection (SIP) で /usr/include をパージおよび保護するという事実に起因します。したがって、このディレクトリで C ヘッダーが見つかると予想されるプロジェクトはコンパイルに失敗します。

解決策:

この問題を解決するには、ビルドを指示する必要があります。システムを適切なヘッダーに追加します:

  1. Xcode が更新されていることを確認します: 最新のものを使用します潜在的な非互換性を回避するには、Xcode のバージョンを変更してください。
  2. Set CMAKE_OSX_SYSROOT: 次のいずれかの方法を使用して、この変数を xcrun --show-sdk-path の結果に設定します。

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

これらの手順で問題が解決した場合は、 CMake でこれらのフラグを設定するためのより良い方法を検討することを検討してください。さらに、SIP を無効にすると (冒険的ではありますが) 一時的な解決策が得られる場合があります。ただし、/usr/include に C ヘッダーが必要なプロジェクトにバグを報告することをお勧めします。

以上が「エラー: Catalina アップグレード後の「グローバル名前空間に「signbit」という名前のメンバーがありません」: 解決策は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート