ホームページ >バックエンド開発 >C++ >CMake にコンパイラとリンカーのフラグを追加するにはどうすればよいですか?

CMake にコンパイラとリンカーのフラグを追加するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-20 16:43:17627ブラウズ

How to Add Compiler and Linker Flags in CMake?

CMake ファイルへのリンカー フラグとコンパイラ フラグの追加

C プログラムをコンパイルする場合、多くの場合、CMake ファイルの動作を制御するために特定のフラグを追加する必要があります。コンパイラまたはリンカー。 CMake では、さまざまなメカニズムを使用してこれらのフラグをプロジェクトに追加できます。

コンパイル フラグの追加

  • Setting CMAKE_C_FLAGS: これは設定します。 C のコンパイル フラグcode.
  • add_settings の使用: CMake 変数を変更せずに、ターゲット定義にフラグを直接追加できます。

例:

set(CMAKE_C_FLAGS "-fexceptions")

リンカーの追加フラグ

  • CMAKE_EXE_LINKER_FLAGS の設定: これにより、実行可能ファイルのリンカー フラグが設定されます。
  • set_target_properties の使用: ターゲット固有の設定を許可します。リンカーを含むプロパティflags.

例:

set(CMAKE_EXE_LINKER_FLAGS "-lgcov")

-fExceptions の具体的な例

-fExceptions フラグを追加するには、任意のフラグを使用できます。次のメソッドのいずれか:

  • 方法 1 (非推奨):
set(CMAKE_EXE_LINKER_FLAGS "-fexceptions")
  • 方法 2 (推奨):
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions")
  • 方法 3 (ターゲットを使用する)プロパティ):
get_target_property(TARGET_COMPILE_FLAGS <target> COMPILE_FLAGS)
if(NOT TARGET_COMPILE_FLAGS)
  set(TARGET_COMPILE_FLAGS "")
endif()
set_target_properties(<target> PROPERTIES COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} -fexceptions")

以上がCMake にコンパイラとリンカーのフラグを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。