Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mentakrifkan Makro Prapemproses dengan Berkesan dalam CMake?

Bagaimana untuk Mentakrifkan Makro Prapemproses dengan Berkesan dalam CMake?

DDD
DDDasal
2024-11-30 07:01:15852semak imbas

How to Effectively Define Preprocessor Macros in CMake?

Mentakrifkan Makro Prapemproses dengan CMake

Mentakrifkan pembolehubah prapemproses dengan CMake telah berkembang dari semasa ke semasa. Mari kita terokai cara melakukannya dengan berkesan.

add_definitions

Sebelum ini, CMake bergantung terutamanya pada arahan add_definitions untuk tujuan ini. Kod C yang setara ialah #define foo.

add_definitions(OPENCV_VERSION=${OpenCV_VERSION} WITH_OPENCV2)

add_compile_definitions

Walau bagaimanapun, bermula dengan CMake versi 3.12, arahan add_compile_definitions menawarkan pendekatan yang lebih halus. Ia secara khusus menyasarkan penyusunan definisi, memisahkannya daripada termasuk direktori dan pilihan pengkompil.

add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION})
add_compile_definitions(WITH_OPENCV2)

Faedah add_compile_definitions

Pendekatan yang lebih baharu ini menghapuskan keperluan untuk helah yang sering digunakan dengan tambah_takrifan. Ia menyediakan cara yang lebih tersusun dan rawan ralat untuk mengurus definisi penyusunan.

Takrifan Khusus Sasaran

Seperti yang Jim Hunziker nyatakan, anda juga boleh mentakrifkan makro prapemproses pada asas setiap sasaran. Rujuk jawapannya untuk butiran lanjut.

Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan Makro Prapemproses dengan Berkesan dalam CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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