ホームページ > バックエンド開発 > C++ > C ソース コードで CMake 変数にアクセスするにはどうすればよいですか?

C ソース コードで CMake 変数にアクセスするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-02 16:23:02
オリジナル
1082 人が閲覧しました

How to Access CMake Variables in C   Source Code?

C ソース コードでの CMake 変数へのアクセス

問題:
次のような CMake 変数をどのように使用できますか? LIBINTERFACE_VERSION は、C ソース コード内でアクセスして使用できますか?

答え:

オプション 1: add_settings を使用する

  • add_settings() を使用して CMake 変数を定義として渡します。
  • 例:

    <code class="cmake">add_definitions( -DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION} )</code>
    ログイン後にコピー
  • これにより、CMake 変数を C コードで定義できるようになります。マクロ (#define).

オプション 2: ヘッダー ファイル テンプレートで configure_file を使用する

  • CMake 変数を含むヘッダー ファイル テンプレートを作成するReferences.
  • 例:

    <code class="cmake">// version_config.h.in
    #ifndef VERSION_CONFIG_H
    #define VERSION_CONFIG_H
    
    // define your version_libinterface
    #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@
    
    // alternatively you could add your global method getLibInterfaceVersion here
    unsigned int getLibInterfaceVersion()
    {
      return @LIBINTERFACE_VERSION@;
    }
    
    #endif // VERSION_CONFIG_H</code>
    ログイン後にコピー
  • configure_file() を使用して、CMake 変数をその値で置き換えるヘッダー ファイルを生成します。
  • 例:

    <code class="cmake">configure_file( version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h )
    include_directories( ${CMAKE_BINARY_DIR}/generated/ ) # Make sure it can be included...</code>
    ログイン後にコピー
  • 生成されたヘッダー ファイルを C ソース コードにインクルードします。

使用例:

<code class="cpp">// Assuming version_config.h is included
std::string version = VERSION_LIBINTERFACE;</code>
ログイン後にコピー

注:
configure_file() メソッドは、生成されたヘッダー ファイルに変数や定義を追加できるため、より拡張性があります。

以上がC ソース コードで CMake 変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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