내 프로젝트에 라이브러리 (특히 yaml-cpp)를 포함하기로 결정했습니다. 건물에 대한 CMAKE를 사용하는 두 프로젝트 (YAML-CPP 및 광산) 때문에 나는 시도하고 내 루트 디렉토리 내부의 YAML-CPP 디렉토리를 배치하고 YAML-CPP의 CMakeLists.txt 이미CMake : 서브 디렉토리에서 include_directories가 전파되지 않음
를 포함하고 있기 때문에 단지add_subdirectory(yaml-cpp)
및
target_link_libraries(${EXECUTABLE_NAME} foolib yaml-cpp)
를 사용하기로 결정
include_directories(${YAML_CPP_SOURCE_DIR}/include)
# ...
add_library(yaml-cpp
${sources}
${public_headers}
${private_headers}
${contrib_sources}
${contrib_public_headers}
${contrib_private_headers}
)
... 포함 및 라이브러리 대상 모두에서 잘되어야합니다. 나는 내 자신의 CMakeLists.txt에 선 include_directories(${YAML_CPP_SOURCE_DIR}/include)
을 복제하지 않는 한
내 질문은 ...
P:\zpp\TheGameShow\TGS.cpp(16): fatal error C1083: Cannot open include file: 'yaml-cpp/yaml.h': No such file or directory
:하지만 나는 다음과 같은 오류가 컴파일에 밝혀으로 원하는 행동인가? include 디렉토리가 하위 디렉토리에서 루트 디렉토리로 전파되면 안됩니까? 내가 뭔가 잘못하고 있는거야?
편집 : 나는 비주얼 스튜디오 2010을 사용하고 CMake 2.8.6
에 의해 생성 된 캐시 값 그리고 잘못된 설계입니다. 상위 수준으로 전달하는 명시적인 방법이 있어야한다고 생각합니다. – Lothar