Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengakses Pembolehubah CMake dari Dalam Kod Sumber C?
Mengakses Pembolehubah CMake dalam Kod Sumber C
Apabila bekerja dengan CMake, selalunya wajar untuk menyimpan maklumat seluruh projek dalam pembolehubah berpusat. Ini membolehkan pengurusan dan akses yang mudah. Walau bagaimanapun, mengakses pembolehubah ini secara langsung dalam kod sumber C boleh menjadi mencabar.
CMake Variable Declaration
Dalam senario yang disediakan, CMake variable LIBINTERFACE_VERSION ditakrifkan untuk menyimpan perpustakaan perpustakaan nombor versi:
<code class="cmake">SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")</code>
Mengakses Pembolehubah dalam C
Untuk mengakses LIBINTERFACE_VERSION dalam C , anda boleh menggunakan salah satu daripada dua kaedah:
1. add_definitions
Fungsi add_definitions() membolehkan anda menghantar pembolehubah CMake sebagai definisi kepada pengkompil:
<code class="cmake">add_definitions( -DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION} )</code>
Dalam kod C anda, anda kemudian boleh mengakses pembolehubah sebagai:
<code class="cpp">#include <version_config.h> unsigned int version = VERSION_LIBINTERFACE;</code>
2. configure_file
Anda juga boleh menggunakan configure_file() untuk mencipta templat fail pengepala (cth., version_config.h.in) di mana pembolehubah CMake diganti:
<code class="cmake"># version_config.h.in #ifndef VERSION_CONFIG_H #define VERSION_CONFIG_H // Define version_libinterface #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@ #endif // VERSION_CONFIG_H configure_file( version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h ) include_directories( ${CMAKE_BINARY_DIR}/generated/ )</code>
Dalam C anda kod, anda kemudiannya boleh memasukkan fail pengepala yang dijana:
<code class="cpp">#include "version_config.h" unsigned int version = VERSION_LIBINTERFACE;</code>
Pendekatan ini memberikan fleksibiliti tambahan untuk memasukkan berbilang takrifan atau pembolehubah dalam fail pengepala anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah CMake dari Dalam Kod Sumber C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!