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
942 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!

sumber:php.cn
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