Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan Makro Prapemproses dalam CMake?

Bagaimana untuk Menentukan Makro Prapemproses dalam CMake?

Linda Hamilton
Lepaskan: 2024-11-29 21:11:14
asal
869 orang telah melayarinya

How to Define Preprocessor Macros in CMake?

Mentakrifkan Makro Prapemproses dengan CMake

Dalam C , makro prapemproses menyediakan cara yang mudah untuk menentukan pemalar simbolik atau mengubah tingkah laku kod semasa penyusunan. Untuk mentakrifkan makro prapemproses menggunakan CMake, anda mempunyai dua pilihan utama:

Kaedah 1: add_compile_definitions (CMake >= 3.12)

Dengan CMake 3.12 dan lebih baru, anda boleh menggunakan arahan add_compile_definitions untuk menentukan makro prapemproses. Pendekatan ini lebih terperinci daripada kaedah sebelumnya dan membolehkan anda mengasingkan definisi kompilasi, menyertakan direktori dan pilihan pengkompil.

add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION})
add_compile_definitions(WITH_OPENCV2)
Salin selepas log masuk

Kaedah 2: Takrifan_tambahan (Ditamatkan)

Sebelum CMake 3.12, arahan add_definitions digunakan untuk mentakrifkan prapemproses makro:

add_definitions(-DOPENCV_VERSION=${OpenCV_VERSION})
add_definitions(-DWITH_OPENCV2)
Salin selepas log masuk

Nota: Awalan -D diperlukan dalam kaedah lama untuk menunjukkan definisi prapemproses.

Pertimbangan Tambahan:

  • Anda juga boleh menentukan makro prapemproses setiap sasaran menggunakan arahan target_compile_definitions.
  • Untuk penjelasan lebih terperinci tentang arahan yang tersedia untuk bendera pengkompil, rujuk dokumentasi CMake di: https://cmake.org/cmake/help/latest/command/add_definitions.html

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Makro Prapemproses dalam CMake?. 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