Nice programing

Visual Studio 프로젝트에서 상대 경로를 정의하는 방법은 무엇입니까?

nicepro 2020. 12. 31. 23:25
반응형

Visual Studio 프로젝트에서 상대 경로를 정의하는 방법은 무엇입니까?


라이브러리를 사용하는 라이브러리와 콘솔 응용 프로그램이 있습니다. 라이브러리에는 소스 및 헤더 파일이있는 폴더가 있습니다.

내 프로젝트는 하위 / 내부 디렉토리에 있지만 포함하려는 라이브러리 디렉토리는 상위 / 상위 디렉토리에 있습니다.

내 프로젝트 디렉토리 :

H:\Gmail_04\gsasl-1.0\lib\libgsaslMain

포함 파일은 다음과 같습니다.

H:\Gmail_04\gsasl-1.0\src

프로젝트 디렉토리에 상대적인 경로를 사용하여 상위 / 상위 디렉토리에있는 폴더를 포함하려면 어떻게해야합니까?


내가 당신을 맞히면 당신은 필요합니다 ..\..\src


상대 경로를 사용하는 대신 VS의 미리 정의 된 매크로를 사용하여이를 수행 할 수도 있습니다.

$(ProjectDir).vcproj파일 의 디렉토리를 가리키며 파일 $(SolutionDir)의 디렉토리입니다 .sln.

프로젝트를 열 때 사용 가능한 매크로 목록이 표시되고
속성 → 구성 속성 → C / C ++ → 일반으로 이동
하여 세 개의 점을 누릅니다.

프로젝트 속성

다가오는 대화 상자에서 Macros 를 눌러 Studio에서 미리 정의한 매크로 를 확인합니다 ( 그 의미 MSDN문의 ).

추가 포함 디렉토리

입력하여 매크로를 사용할 수 있습니다 $(MACRO_NAME)( $둥근 괄호에주의).


이전에 다음과 같은 구문을 사용했습니다.

$(ProjectDir)..\headers

또는

..\headers

다른 사람들이 지적했듯이 시작 디렉터리는 기본 코드가있는 위치가 아니라 프로젝트 파일이있는 디렉터리 ( vcproj또는 vcxproj)입니다.


기본적으로 정의하는 모든 경로는 상대적입니다. 문제는 무엇과 관련이 있습니까? 몇 가지 옵션이 있습니다.

  1. 앞에 아무것도없는 파일 또는 경로 지정. 예 : " mylib.lib ". 이 경우 파일은 출력 디렉토리 에서 검색됩니다 .
  2. ".. \"를 추가하면 .sln 파일이있는 실제 경로에서 경로가 계산됩니다.

$ (SolutionDir)와 같은 매크로 뒤에는 백 슬래시 "\"를 추가 할 필요가 없습니다. 그냥 사용 mylibdir \ mylib.lib $ (SolutionDir을) . 작동하지 않는 경우 메모장에서 프로젝트 파일을 외부에서 열고 확인하십시오.

참조 URL : https://stackoverflow.com/questions/6895457/how-to-define-relative-paths-in-visual-studio-project

반응형