달력

4

« 2020/4 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  

Visual Studio 2015에서 부터 프로젝트 및 솔루션 형식 및 플랫폼 집합 도구의 형식이 호환되어 특정 환경에 대해서 편하게 빌드를 할 수 있는 환경으로 변경되었습니다.

 

다만, 유독 Visual Studio 2015/2017/2019에서 WDK 8.0 그러니까 WindowsKernelModeDriver8.0으로 플랫폼 도구 집합으로 컴파일하면 오류가 발생합니다.

 

플랫폼 도구 집합을 "WindowsKernelModeDriver8.0"로 설정 후 빌드하면 다음과 같은 메시지가 출력창에 표시됩니다.

1>------ 모두 다시 빌드 시작: 프로젝트: testdrv, 구성: Win8 Debug x64 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(347,5): error MSB6004: 지정한 작업 실행 파일의 위치 "C:\Program Files (x86)\Windows Kits\8.0\bin\x86\x64\CL.exe"이(가) 잘못되었습니다.
1>"testdrv.vcxproj" 프로젝트를 빌드했습니다. - 실패
========== 모두 다시 빌드: 성공 0, 실패 1, 생략 0 ==========

분명히 VisualStudio 2019를 설치하기전에 VisualStudio 2012를 설치하고 WDK 8.0을 설치하였음에도 불구하고 "CL.exe"를 찾을 수 없다는 오류 메시지 입니다. 해당 폴더에 가보면 "CL.exe"파일이 존재하지 않습니다.

 

여기 저기 관련 내용을 찾아보았으나 어디에도 나와있지 않습니다. 그러나 결국 Microsoft에서 해당 오류에 대한 해결책을 발견했습니다.

 

내용을 보면 황당하지만 왜 MS에서 이러한 오류를 자동으로 고쳐주지 않았을까 하는 것이 의문입니다.

 

오류 수정 절차는 다음과 같습니다.

  1. C:\Program Files (x86)\Windows Kits\8.0\build 디렉터리로 이동합니다.
  2. WindowsDriver8.0.x64.props 파일을 엽니다.
  3. "'$(VisualStudioVersion)' != '11.0'" 문구를 찾습니다.
  4. "!=" 를 "&lt;"로 변경합니다.( "!=" 를 "<"로 변경) 2군데가 있으니 모두 변경합니다.
  5. 파일을 저장합니다.
  6. WindowsDriver8.0.Win32.props 파일도 동일하게 변경합니다.

이와 같이 props 파일을 변경한다음에 다시 컴파일하면 컴파일이 잘 됩니다.

 

해당 해결책이 있는 URL도 같이 공유합니다.

Posted by 서프리

댓글을 달아 주세요