>백엔드 개발 >C++ >CMake에서 포함 디렉터리와 헤더 파일을 올바르게 관리하려면 어떻게 해야 합니까?

CMake에서 포함 디렉터리와 헤더 파일을 올바르게 관리하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-27 19:49:14896검색

How Do I Properly Manage Include Directories and Header Files in CMake?

CMake의 포함 디렉터리 이해

CMake에서 헤더 파일 작업을 할 때 적절한 포함 및 종속성 추적을 보장하는 것이 중요합니다. CMake는 프로젝트 내부와 외부의 헤더 파일을 구별합니다. 헤더 파일을 올바르게 포함하려면 다음 단계를 따르세요.

  1. 포함 디렉터리 추가:

    포함할 헤더 파일이 포함된 디렉터리를 지정하려면, target_include_directories 함수를 사용하세요.

    target_include_directories(test PRIVATE ${YOUR_DIRECTORY})

    target_include_directories가 없는 이전 CMake 버전의 경우, 대신 include_directories를 사용하세요:

    include_directories(${YOUR_DIRECTORY})
  2. 소스 파일에 헤더 추가:

    종속성을 추적하고 정확한 Makefile을 생성하려면 헤더 파일을 다음에 추가하세요. 현재 소스 파일 목록 target:

    set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)
    add_executable(test ${SOURCES})

이러한 단계를 따르면 CMake는 지정된 헤더를 프로젝트의 일부로 인식하고 이를 종속성 추적에 포함하여 Makefile과 같이 생성된 출력 파일이 올바르게 처리되도록 합니다. 및 IDE용 프로젝트 파일.

여러 헤더에 걸쳐 헤더 사용 대상:

여러 대상에서 헤더를 재사용하려면 다음 접근 방식을 고려하십시오.

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})

이 방법을 사용하면 라이브러리와 실행 가능 대상 모두 지정된 헤더를 포함하고 해당 종속성을 올바르게 추적할 수 있습니다. .

위 내용은 CMake에서 포함 디렉터리와 헤더 파일을 올바르게 관리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.