> 백엔드 개발 > C++ > CMake에서 헤더 종속성을 올바르게 관리하려면 어떻게 해야 합니까?

CMake에서 헤더 종속성을 올바르게 관리하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-30 18:45:14
원래의
655명이 탐색했습니다.

How Can I Properly Manage Header Dependencies in CMake?

CMake의 헤더 종속성 처리 이해

CMake에서 헤더 파일 종속성을 처리할 때 CMake가 이를 인식할 수 있다는 가정을 해결하는 것이 중요합니다. 프로젝트 외부로. 이로 인해 헤더가 생성된 빌드 시스템에 적절하게 포함되지 않거나 추적되지 않는 문제가 발생할 수 있습니다.

문제 해결

헤더 파일을 CMake 프로젝트에 올바르게 통합하려면, 다음 단계를 따르세요.

  1. 헤더 추가 디렉터리:

    • target_include_directories(test PRIVATE ${YOUR_DIRECTORY})를 사용하여 헤더가 포함된 디렉터리를 지정합니다.
    • 또는 이전 CMake 버전을 사용하는 경우 include_directories( ${YOUR_DIRECTORY}) 대신.
  2. 소스 목록에 헤더 포함:

    • 해당 소스 파일 목록에 헤더 파일을 추가합니다. set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h를 사용하는 현재 대상 ${YOUR_DIRECTORY}/file2.h).

이 단계를 구현하면 헤더 파일이 프로젝트 종속성으로 처리되어 Makefile 및 생성된 모든 프로젝트 파일( 예: Visual Studio의 경우).

여러 헤더 처리 대상

여러 대상에서 헤더 파일을 공유하려면 다음 예를 고려하십시오.

  • 헤더 경로가 포함된 HEADER_FILES 변수를 생성합니다.
  • 추가 헤더를 각 타겟의 소스 파일 목록에 추가합니다.
  • 헤더를 포함하도록 타겟의 포함 디렉터리를 설정합니다. target_include_directories(mylib PRIVATE ${YOUR_DIRECTORY})를 사용하는 디렉터리입니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿