ホームページ > バックエンド開発 > C++ > CMake でプリプロセッサ マクロを効果的に定義するにはどうすればよいですか?

CMake でプリプロセッサ マクロを効果的に定義するにはどうすればよいですか?

DDD
リリース: 2024-11-30 07:01:15
オリジナル
839 人が閲覧しました

How to Effectively Define Preprocessor Macros in CMake?

CMake によるプリプロセッサ マクロの定義

CMake によるプリプロセッサ変数の定義は、時間の経過とともに進化してきました。これを効果的に行う方法を見てみましょう。

add_settings

以前は、CMake はこの目的で主に add_settings コマンドに依存していました。同等の C コードは #define foo.

add_definitions(OPENCV_VERSION=${OpenCV_VERSION} WITH_OPENCV2)
ログイン後にコピー

add_compile_definitions

になります。ただし、CMake バージョン 3.12 以降では、add_compile_settings コマンドはより洗練されたアプローチを提供します。これは特にコンパイル定義をターゲットにしており、インクルード ディレクトリやコンパイラ オプションから分離します。

add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION})
add_compile_definitions(WITH_OPENCV2)
ログイン後にコピー

add_compile_settings の利点

この新しいアプローチでは、よく使用されるトリックが不要になります。追加定義。これは、コンパイル定義を管理するための、より構造化され、エラーが発生しやすい方法を提供します。

ターゲット固有の定義

Jim Hunziker が述べたように、ターゲット上でプリプロセッサ マクロを定義することもできます。ターゲットごとに。詳細については、彼の回答を参照してください。

以上がCMake でプリプロセッサ マクロを効果的に定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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