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

Bagaimana untuk Mengakses Pembolehubah CMake dalam Kod C Anda?

Mary-Kate Olsen
Lepaskan: 2024-10-29 08:42:30
asal
976 orang telah melayarinya

 How to Access CMake Variables in Your C   Code?

Mengakses Pembolehubah CMake dalam Kod C

Apabila bekerja dengan CMake, ia boleh memberi manfaat untuk menyimpan nilai yang kerap digunakan sebagai pembolehubah. Walau bagaimanapun, mengakses pembolehubah ini dalam kod sumber C boleh mencabar.

Satu pendekatan untuk menggunakan pembolehubah CMake dalam C ialah menggunakan fungsi add_definitions. Teknik ini membolehkan pemindahan pembolehubah sebagai definisi prapemproses:

<code class="cmake">add_definitions(-DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION})</code>
Salin selepas log masuk

Seterusnya, dalam kod C, pembolehubah boleh diakses sebagai makro prapemproses:

<code class="c++">#if defined(VERSION_LIBINTERFACE)
    unsigned int libInterfaceVersion = VERSION_LIBINTERFACE;
#endif</code>
Salin selepas log masuk

Sebagai alternatif, anda boleh memanfaatkan arahan configure_file untuk menjana templat fail pengepala yang merangkumi penggantian pembolehubah yang diperlukan. Sebagai contoh, cipta fail templat bernama version_config.h.in:

<code class="c++">#ifndef VERSION_CONFIG_H
#define VERSION_CONFIG_H

#define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@

#endif</code>
Salin selepas log masuk

Dalam fail CMakeLists.txt, gunakan arahan configure_file:

<code class="cmake">configure_file(version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h)
include_directories(${CMAKE_BINARY_DIR}/generated/)</code>
Salin selepas log masuk

Pastikan bahawa fail pengepala yang dihasilkan disertakan dalam fail sumber yang berkenaan.

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

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan