답변:
헤더 파일을 #include하려는 프로젝트에서 다른 프로젝트 의 경로를 프로젝트 구성 의 추가 포함 디렉토리 섹션에 추가해야 합니다.
프로젝트 구성에 액세스하려면 :
헤더 파일 을 포함 하려면 코드에 다음을 작성하면됩니다.
#include "filename.h"
추가 포함 디렉터리에 이미 디렉터리가 포함되어 있으므로 여기에서 경로를 지정할 필요가 없으므로 Visual Studio에서 찾을 위치를 알 수 있습니다.
프로젝트 설정에 모든 헤더 파일 위치를 추가하지 않으려면 한 지점까지 디렉토리를 포함시킨 다음 해당 지점을 기준으로 #include를 추가하면됩니다.
// In project settings
Additional Include Directories ..\..\libroot
// In code
#include "lib1/lib1.h" // path is relative to libroot
#include "lib2/lib2.h" // path is relative to libroot
정적 라이브러리 (예 : .lib 파일)를 사용하는 경우 링커 입력에 라이브러리를 추가해야 연결시 심볼이 링크 될 수 있습니다 (그렇지 않으면 해결되지 않은 심볼이 표시됨).
#include "proj2\include.h"
. 솔루션 당 여러 프로젝트를 갖는 것은 매우 다르게 사용되기 때문에 NET 언어로 매우 향하는 것 같습니다. 그러나 C ++ 프로젝트에서이를 극복 할 수있는 좋은 방법을 찾지 못했습니다.
#include
프로젝트와 관련이 없습니다. 전처리기에 "헤더 파일의 내용을 여기에 넣으십시오"라고 알려줍니다. 올바른 위치를 가리키는 경로 (../your_file.h와 같은 상대 경로 일 수 있음)를 제공하면 올바르게 포함됩니다.
그러나 이러한 프로젝트를 제대로 연결하려면 라이브러리 (정적 / 동적 라이브러리)에 대해 배워야합니다.하지만 그것은 또 다른 질문입니다.
두 프로젝트가 동일한 솔루션에 있기 때문에 https://docs.microsoft.com/en-us/cpp/build/adding-references-in-visual-cpp-에 설명 된대로 포함 파일 및 링커에 대한 더 간단한 방법이 있습니다. 프로젝트? view = vs-2019 :
#include "../libProject/libHeader.h"
) 로 작성 될 수 있습니다 .프로젝트 속성의 헤더 경로를 설정해야 컴파일러가 헤더 파일을 찾으려고 할 때 거기를 찾습니다. 정확한 위치를 기억할 수 없지만 프로젝트 속성을 살펴보면 볼 수 있습니다.
@Benav의 답변을 확장하면 선호하는 접근 방식은 다음과 같습니다.
$(SolutionDir)
포함 디렉터리에 추가이제 다음과 같이 참조 된 프로젝트의 헤더를 포함 할 수 있습니다.
#include "OtherProject/Header.h"
노트:
#include
s에 필요하지 않지만 원하는대로 올바른 빌드 종속성을 설정합니다.