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!