Catalina にアップグレードした後、「signbit」が から欠落するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-12 17:43:02
オリジナル
330 人が閲覧しました

Why is Catalina にアップグレードした後は? " /> Catalina にアップグレードした後は? " />

Catalina C :

の「signbit」エラーへの対処 Mojave から Catalina にアップグレードした後、ユーザーはコンパイルに遭遇する可能性がありますC プログラムで ヘッダーを参照するときに発生する問題。グローバル名前空間に「signbit」がありません。

最初は、CFLAGS、CCFLAGS、および CXXFLAGS 環境変数を変更しようとしても結果が得られないように見えますが、詳しく調べると、問題の根本原因は別の場所にあります。 .

の役割CMAKE_OSX_SYSROOT

CMAKE_OSX_SYSROOT の値は、この問題において重要な役割を果たします。この設定ミスにより、Catalina にアップグレードした後、ビルド システムで間違ったヘッダー ファイルが使用されます。必要な定義が不足しています。

解決策:正しい CMAKE_OSX_SYSROOT

この状況を修正するには、SDK ヘッダーへの適切なパスを手動で指定することが重要です。これは、次の手順を実行することで実現できます。

  1. 潜在的な互換性の問題を回避するために、Xcode が最新であることを確認します。
  2. xcrun --show-sdk-path コマンドを使用して、正しい SDK パスを決定します。
  3. CMake 構成を次のように変更します。
set(CMAKE_OSX_SYSROOT /sdk/path)
ログイン後にコピー

または、CXX コンパイラに -isysroot フラグを直接設定することもできます。

set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")
ログイン後にコピー

結論

CMAKE_OSX_SYSROOT の不適切な設定に対処することで、問題を正常に解決できます。 「signbit」に関連するエラーが発生したため、 を使用して C プログラムの開発を続行してください。 Catalina 環境では。

以上がCatalina にアップグレードした後、「signbit」が から欠落するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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