이전 버전(VS2010~VS2015 등)에서 사용하시던 AppData\Local\Microsoft\MSBuild\v4.0 폴더의 global .props 방식(Microsoft.Cpp..user.props)은 Visual Studio 2022 및 2026(MSVS2026)을 포함한 최신 버전에서는 성능 및 빌드 안정성 문제로 인해 공식적으로 폐지되거나 더 이상 권장되지 않습니다.
대신 최신 Visual Studio 환경에서 공용 Include 및 Library 폴더를 편하게 지정할 수 있는 훨씬 깔끔하고 강력한 두 가지 대체 방법이 있습니다.
상황에 맞춰 아래 방법 중 하나를 선택해 적용해 보세요.
솔루션/프로젝트 단위 자동 적용 (Directory.Build.props)
작업하시는 소스코드 폴더 구조 상위에 Directory.Build.props라는 파일을 만들어 두면, MSBuild가 하위 폴더에 있는 모든 C++ 프로젝트를 빌드할 때 이 파일의 설정을 자동으로 읽어와 include와 library 경로를 주입해 줍니다. 일일이 프로젝트마다 .props를 추가해 줄 필요가 없어 매우 편합니다.
설정 순서
1. 주로 프로젝트들이 모여 있는 루트 폴더(예: C:\Users\admin\source\repos 또는 특정 솔루션 폴더)에 Directory.Build.props라는 이름으로 새 파일을 생성합니다.
2. 텍스트 편집기나 VS로 파일을 열고 아래 코드를 붙여넣습니다.
<Project>
<ItemDefinitionGroup>
<ClCompile>
<!-- 공용 추가 포함 디렉터리 (Include) -->
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);C:\MyCommonLibraries\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<!-- 공용 추가 라이브러리 디렉터리 (Library) -->
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);C:\MyCommonLibraries\lib;</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
</Project>
3. C:\MyCommonLibraries\include와 lib 경로 부분을 실제 사용하시는 공용 폴더 경로로 변경하고 저장합니다.
4. 이제 해당 폴더 하위에 생성되는 모든 C++ 프로젝트는 별도 세팅 없이도 이 경로를 자동으로 인식합니다.
💡 참고: 기존 프로젝트 속성 페이지의 VC++ 디렉터리 대신 C/C++ -> 일반 -> 추가 포함 디렉터리 및 링커 -> 일반 -> 추가 라이브러리 디렉터리에 자동으로 값이 상속(Inherit)되어 들어갑니다.
솔루션 파일(.sln)이 있는 폴더에 Directory.Build.props 파일을 올바르게 만드셨다면, 그것으로 이미 준비는 끝났습니다! 추가로 설정을 켜거나 VS에서 등록하는 과정은 필요 없습니다. MSBuild 시스템이 솔루션을 열고 프로젝트를 빌드할 때 이 파일을 자동으로 탐색해서 설정을 흡수하기 때문입니다.
코드가 잘 적용되었는지 확인하고 마무리를 지으려면 아래 단계를 차례대로 진행해 보세요.
Step 1. Visual Studio 2026 재시작 (또는 솔루션 다시 로드)
Visual Studio가 켜져 있는 상태에서 파일을 만드셨다면, 변경 사항을 확실하게 반영하기 위해 솔루션을 닫았다가 다시 열거나 Visual Studio를 완전히 재시작해 주세요.
Step 2. 프로젝트 속성에서 반영 여부 확인하기
설정이 제대로 들어갔는지 눈으로 확인해 보는 방법입니다.
- VS 솔루션 탐색기에서 C++ 프로젝트를 우클릭하고 속성(Properties)으로 들어갑니다.
- 좌측 메뉴에서 구성 속성 -> C/C++ -> 일반을 선택합니다.
- 우측의 추가 포함 디렉터리(Additional Include Directories) 항목을 클릭하고, 우측 끝에 생기는 화살표를 눌러 <편집...>을 누릅니다.
- 아래쪽 상속된 값(Inherited values) 칸에 내가 Directory.Build.props에 적었던 경로(예: C:\MyCommonLibraries\include)가 연한 글씨로 리스트에 올라와 있다면 성공적으로 자동 적용된 것입니다.
⚠️ 주의 (가장 자주 하는 실수): 만약 특정 프로젝트의 '추가 포함 디렉터리' 칸에 수동으로 입력된 경로가 있고, 그 경로 끝에 %(AdditionalIncludeDirectories) 문구가 빠져 있다면 Directory.Build.props에서 설정한 전역 경로가 무시될 수 있습니다. 상속 값이 잘 보인다면 문제없습니다. 경로 확인은 필히 다시 확인 해보는 것이 좋습니다.
'MFC' 카테고리의 다른 글
| "xsd.exe"이(가) 종료되었습니다(코드: 1) 해결 방법 (0) | 2026.05.22 |
|---|---|
| MFC 예외 객체(CException)가 해제되지 않아 메모리 누수가 발생 (0) | 2025.12.23 |
| MSXML에서 createElement를 사용할 때 자동으로 xmlns="" 속성이 붙는 이유와 막는 방 (0) | 2025.12.19 |
| BluetoothFindFirstDevice Example (0) | 2024.10.21 |
| CFileDialog의 Title 이름 변경하는 방법 (0) | 2024.01.16 |