Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan Makro Prapemproses dalam CMake Menggunakan Pendekatan yang Disyorkan?

Bagaimana untuk Menentukan Makro Prapemproses dalam CMake Menggunakan Pendekatan yang Disyorkan?

Susan Sarandon
Lepaskan: 2024-12-06 10:20:16
asal
891 orang telah melayarinya

How to Define Preprocessor Macros in CMake Using the Recommended Approach?

Mentakrifkan Makro Prapemproses dalam CMake

Selalunya, pembangun memerlukan makro prapemproses ditetapkan untuk projek CMake mereka. Secara tradisinya, CMake menyediakan arahan add_definitions untuk tujuan ini. Walau bagaimanapun, sejak CMake versi 3.12, pendekatan baharu telah diperkenalkan dengan arahan berasingan untuk menyusun definisi, termasuk direktori dan pilihan pengkompil.

Menggunakan Pendekatan Baharu

Untuk tentukan makro prapemproses menggunakan sintaks baharu, gunakan arahan add_compile_definitions sebagai berikut:

add_compile_definitions(MACRO_NAME=VALUE)
Salin selepas log masuk

Sebagai contoh, untuk mentakrifkan makro OPENCV_VERSION, anda akan menulis:

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

Anda juga boleh mentakrifkan berbilang makro dalam satu arahan:

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

Kelebihan

Pendekatan baharu ini memberikan beberapa kelebihan berbanding arahan add_definitions:

  • Ia memberikan kawalan yang lebih besar ke atas takrifan yang digunakan pada bahagian berlainan projek anda.
  • Ia mengelakkan potensi untuk mentakrifkan makro yang tidak dimaksudkan untuk sesuatu tertentu. sasaran.
  • Ia sejajar dengan amalan terbaik untuk pembangunan CMake, seperti yang dibincangkan dalam dokumentasi CMake (https://cmake.org/cmake/help/latest/command/add_definitions.html).

Nota: Seperti yang dinyatakan dalam dokumentasi, tidak disyorkan untuk gunakan perintah add_definitions lagi.

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