Rumah > pembangunan bahagian belakang > C++ > Bagaimana Saya Menguruskan dengan Betul Sertakan Direktori dan Fail Pengepala dalam CMake?

Bagaimana Saya Menguruskan dengan Betul Sertakan Direktori dan Fail Pengepala dalam CMake?

DDD
Lepaskan: 2024-12-27 19:49:14
asal
899 orang telah melayarinya

How Do I Properly Manage Include Directories and Header Files in 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:

  1. Tambah Direktori Sertakan:

    Untuk menentukan direktori yang mengandungi fail pengepala untuk disertakan, gunakan fungsi target_include_directories:

    target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
    Salin selepas log masuk

    Untuk versi CMake yang lebih lama tanpa target_include_directories, gunakan include_directories sebaliknya:

    include_directories(${YOUR_DIRECTORY})
    Salin selepas log masuk
  2. 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})
    Salin selepas log masuk

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})
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan