Catalina C で「グローバル名前空間に 'signbit' という名前のメンバーがありません」というエラーが表示されるのはなぜですか?

DDD
リリース: 2024-11-15 02:11:02
オリジナル
459 人が閲覧しました

Why Am I Getting the

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

を使用して C プログラムをコンパイルするときMojave から Catalina にアップグレードした後、ヘッダーを使用すると、次のエラーが発生する可能性があります:

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

この問題は、コンパイラが正しい を見つけられない場合に発生します。ヘッダーには、signbit 関数が含まれています。

この問題を解決するには、コンパイラが適切な SDKheaders を指していることを確認する必要があります。

解決策

  • コンパイラのバージョンを確認します。
  • xcrun --show-sdk-path コマンドを使用して、CMAKE_OSX_SYSROOT 変数を正しい SDK パスに設定します。このパスは、-isysroot の引数として使用する必要があります。
  • CMake では、次の行を CMakeLists.txt ファイルに追加することでこれを実現できます。
set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")
ログイン後にコピー

where /sdk/path は、xcrun から取得した SDK パスです。

さらに、システム整合性保護を無効にします。 (SIP) も問題を解決する可能性があります。

以上がCatalina C で「グローバル名前空間に 'signbit' という名前のメンバーがありません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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