Mojave から macOS Catalina にアップグレードすると、コンパイル時にエラーが発生しました
error: no member named 'signbit' in the global namespace
このエラーは、Catalina が System Integrity Protection (SIP) で /usr/include をパージおよび保護するという事実に起因します。したがって、このディレクトリで C ヘッダーが見つかると予想されるプロジェクトはコンパイルに失敗します。
解決策:
この問題を解決するには、ビルドを指示する必要があります。システムを適切なヘッダーに追加します:
Set CMAKE_OSX_SYSROOT: 次のいずれかの方法を使用して、この変数を xcrun --show-sdk-path の結果に設定します。
これらの手順で問題が解決した場合は、 CMake でこれらのフラグを設定するためのより良い方法を検討することを検討してください。さらに、SIP を無効にすると (冒険的ではありますが) 一時的な解決策が得られる場合があります。ただし、/usr/include に C ヘッダーが必要なプロジェクトにバグを報告することをお勧めします。
以上が「エラー: Catalina アップグレード後の「グローバル名前空間に「signbit」という名前のメンバーがありません」: 解決策は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。