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 サイトの他の関連記事を参照してください。