「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > CMake で C++11 コンパイラのサポートを検出するにはどうすればよいですか?

CMake で C++11 コンパイラのサポートを検出するにはどうすればよいですか?

2024 年 11 月 6 日に公開
ブラウズ:918

How to Detect C  11 Compiler Support in CMake?

CMake での C 11 コンパイラー サポートの検出

概要

このガイドでは、コンパイラーが CMake で C 11 をサポートしているかどうかを自動的に検出する方法について説明します。 CMake は、最新および以前の CMake バージョンの包括的な分析を提供します。

CMake 3.1.0 以降

CMake バージョン 3.1.0 では、強力な機能が導入されました。コンパイラ。これは、cmake_minimum_required コマンドによって実現されます:

cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)

CMake の最小バージョンを指定すると、サポートされているすべてのバージョンをリストする CMAKE_CXX_COMPILE_FEATURES 変数にアクセスできるようになります。 Cの特徴。これにより、プロジェクトで使用する C 標準を決定できます。

C 標準を明示的に指定する

CMake では、CXX_STANDARD プロパティと CXX_STANDARD_REQUIRED プロパティを使用して、ターゲットの C 標準を明示的に設定できます。例:

set_property(TARGET prog PROPERTY CXX_STANDARD 11)
set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)

これにより、コンパイラが -std=c などの正しいフラグで呼び出されるようになります。 11.

必要な C 機能を指定します

あるいは、target_compile_features コマンドを使用して必要な C 機能を指定することもできます。このリストから、CMake は適切な C 標準を推定できます。

target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)

CMAKE_CXX_KNOWN_FEATURES を使用して、サポートされている C 機能のリストを取得します。

]結論

CMake は、C 11 コンパイラのサポートを検出し、C 標準を指定する複数の方法を提供します。この柔軟性により、カスタマイズされた C プロジェクト構成が可能になり、互換性とシームレスなコンパイルが保証されます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3