문제

저는 Visual C++를 사용하여 게임을 만들고 있습니다.별도의 프로젝트에 일부 구성 요소가 있고 프로젝트 종속성을 설정했습니다.다른 프로젝트의 헤더 파일을 어떻게 #include합니까?한 프로젝트의 클래스를 다른 프로젝트에서 사용하는 방법을 모르겠습니다.

도움이 되었습니까?

해결책

컴파일러 설정

헤더 파일을 #include하려는 프로젝트에서 또 다른 프로젝트, 헤더 파일의 경로를 추가 디렉토리 포함 프로젝트 구성 섹션.

프로젝트 구성에 액세스하려면 :

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
  2. 구성 속성-> C/C ++-> 일반을 선택하십시오.
  3. 추가 포함 디렉토리에 따라 경로를 설정하십시오.

포함 방법

에게 헤더 파일을 포함하십시오, 코드에 다음을 작성하기 만하면됩니다.

#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 파일)를 사용하는 경우 링커 입력에 라이브러리를 추가해야하므로 링키지 시간에 기호를 연결할 수 있습니다 (그렇지 않으면 해결되지 않은 기호가 나타납니다).

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
  2. 구성 속성-> 링커-> 입력을 선택하십시오
  3. 추가 종속성에 따라 라이브러리를 입력하십시오.

다른 팁

#include 프로젝트와는 아무런 관련이 없습니다. 단지 전처리 서에 "헤더 파일의 내용을 여기에 넣습니다"라고 말합니다. 올바른 위치를 가리키는 경로를 주면 (../your_file.h와 같은 상대 경로가 될 수 있음) 올바르게 포함됩니다.

그러나 그러한 프로젝트가 올바르게 연결되기 위해서는 라이브러리 (정적/동적 라이브러리)에 대해 배워야하지만 또 다른 질문입니다.

헤더 파일을 찾으려고 할 때 컴파일러가 검토 할 수 있도록 프로젝트 속성의 헤더 경로를 설정해야합니다. 정확한 위치를 기억할 수는 없지만 프로젝트 속성을 보면 볼 수 있습니다.

절대 경로인지 상대 경로인지에 관계없이 #include 지시문에서 전체 경로 참조를 피하십시오.대신 프로젝트 설정에 다른 프로젝트의 포함 폴더 위치를 추가하세요.필요한 경우 경로 참조의 하위 폴더만 사용하십시오.이렇게 하면 코드를 업데이트하지 않고도 항목을 이동하는 것이 더 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top