Rumah >pembangunan bahagian belakang >C++ >Bagaimana Saya Menguruskan dengan Betul Sertakan Direktori dan Fail Pengepala dalam CMake?
Pemahaman Sertakan Direktori dalam CMake
Apabila bekerja dengan fail pengepala dalam CMake, memastikan kemasukan dan penjejakan pergantungan yang betul adalah penting. CMake membezakan antara fail pengepala dalam dan luar projek. Untuk memasukkan fail pengepala dengan betul, ikuti langkah berikut:
Tambah Direktori Sertakan:
Untuk menentukan direktori yang mengandungi fail pengepala untuk disertakan, gunakan fungsi target_include_directories:
target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
Untuk versi CMake yang lebih lama tanpa target_include_directories, gunakan include_directories sebaliknya:
include_directories(${YOUR_DIRECTORY})
Tambah Pengepala pada Fail Sumber:
Untuk menjejak kebergantungan dan menjana Makefiles yang tepat, tambahkan pengepala fail ke senarai fail sumber untuk semasa sasaran:
set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h) add_executable(test ${SOURCES})
Dengan mengikut langkah ini, CMake akan mengenali pengepala yang ditentukan sebagai sebahagian daripada projek dan memasukkannya dalam penjejakan kebergantungannya, memastikan pengendalian yang betul dalam fail output yang dijana seperti Makefiles dan fail projek untuk IDE.
Menggunakan Pengepala Merentasi Berbilang Sasaran:
Untuk menggunakan semula pengepala merentas berbilang sasaran, pertimbangkan pendekatan berikut:
set(HEADER_FILES ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h) add_library(mylib libsrc.cpp ${HEADER_FILES}) target_include_directories(mylib PRIVATE ${YOUR_DIRECTORY}) add_executable(myexec execfile.cpp ${HEADER_FILES}) target_include_directories(myexec PRIVATE ${YOUR_DIRECTORY})
Kaedah ini memastikan kedua-dua perpustakaan dan sasaran boleh laku termasuk pengepala yang ditentukan dan menjejaki kebergantungan mereka dengan betul .
Atas ialah kandungan terperinci Bagaimana Saya Menguruskan dengan Betul Sertakan Direktori dan Fail Pengepala dalam CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!