CMake의 헤더 종속성 관리 이해
CMake는 초기에 프로젝트 외부의 헤더 파일을 처리합니다. 디렉토리를 외부 리소스로 사용합니다. 이 동작은 생성된 프로젝트에서 종속성 추적 문제로 이어질 수 있습니다.
해결책: 포함 디렉터리 지정
헤더를 올바르게 포함하려면 두 단계가 필요합니다.
Include 추가 디렉터리:
최신 CMake 버전(예: 3.0)의 경우 target_include_directories 사용:
target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
이전 CMake 버전(예: , 2.8.10 이하, target_include_directories 없음 지원):
include_directories(${YOUR_DIRECTORY})
대상 소스 목록에 헤더 파일 포함:
종속성을 추적하려면 헤더를 추가하세요. 파일을 소스 목록에 추가 target:
set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h) add_executable(test ${SOURCES})
예: 헤더를 여러 대상에 연결
여러 대상에서 헤더 파일을 공유하려면:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!