Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengakses Pembolehubah CMake dalam Kod Sumber C?

Bagaimana untuk Mengakses Pembolehubah CMake dalam Kod Sumber C?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 16:23:021105semak imbas

How to Access CMake Variables in C   Source Code?

Mengakses Pembolehubah CMake dalam Kod Sumber C

Masalah:
Bagaimanakah pembolehubah CMake, seperti LIBINTERFACE_VERSION, boleh diakses dan digunakan dalam kod sumber C?

Jawapan:

Pilihan 1: Menggunakan add_definitions

  • Lepasi pembolehubah CMake sebagai definisi menggunakan add_definitions().
  • Contoh:

    <code class="cmake">add_definitions( -DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION} )</code>
  • Ini membolehkan pembolehubah CMake ditakrifkan dalam kod C sebagai makro (#define).

Pilihan 2: Menggunakan configure_file dengan templat fail pengepala

  • Buat templat fail pengepala yang mengandungi pembolehubah CMake rujukan.
  • Contoh:

    <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>
  • Gunakan configure_file() untuk menjana fail pengepala menggantikan pembolehubah CMake dengan nilainya.
  • Contoh:

    <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>
  • Sertakan fail pengepala yang dijana dalam kod sumber C.

Contoh Penggunaan:

<code class="cpp">// Assuming version_config.h is included
std::string version = VERSION_LIBINTERFACE;</code>

Nota:
Kaedah configure_file() adalah lebih meluas kerana ia membenarkan pembolehubah atau takrifan tambahan ditambahkan pada fail pengepala yang dijana.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah CMake dalam Kod Sumber C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn