Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

vcpkg - "Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++"

이 오류의 원인은 다양하겠지만, 제 경우에는 다음과 같은 상황에서도 발생했습니다.

Build FAILED.

       "c:/temp/vcpkg\toolsrc\dirs.proj" (default target) (1) ->
       "c:/temp/vcpkg\toolsrc\vcpkg\vcpkg.vcxproj" (Build target) (2:2) ->
       "c:/temp/vcpkg\toolsrc\vcpkglib\vcpkglib.vcxproj" (default target) (3:4) ->
       (ClCompile target) ->
         c:/temp/vcpkg\toolsrc\src\vcpkg\base\cofffilereader.cpp(248): error C4996: 'std::fpos<_Mbstatet>::seekpos
       ': warning STL4019: The member std::fpos::seekpos() is non-Standard, and is preserved only for compatibility wit
       h workarounds for old versions of Visual C++. It will be removed in a future release, and in this release always
        returns 0. Please use standards-conforming mechanisms to manipulate fpos, such as conversions to and from strea
       moff, or an integral type, instead. If you are receiving this message while compiling Boost.IOStreams, a fix has
        been submitted upstream to make Boost use standards-conforming mechanisms, as it does for other compilers. You
       can define _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING to acknowledge that you have received this warning, or defi
       ne _REMOVE_FPOS_SEEKPOS to remove std::fpos::seekpos entirely. [c:/temp/vcpkg\toolsrc\vcpkglib\vcpkglib.vcxproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:08.10
c:/temp/vcpkg\scripts\bootstrap.ps1 : Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++.
At line:1 char:4
+ & {& 'c:/temp/vcpkg\scripts\bootstrap.ps1'}
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,bootstrap.ps1

즉, Visual Studio를 업그레이드하면서 Visual C++ 컴파일러가 보다 더 공격적으로 표준을 지키는 기본 동작을 하는 바람에 vcpkg 소스 코드가 빌드가 안 되는 것입니다.

이런 경우에 해법은 2가지가 있을 것입니다. 하나는 vcxproj 파일의 빌드 옵션에 /WX를 추가하는 것입니다.

/WX (Treat Linker Warnings as Errors)
; https://docs.microsoft.com/en-us/cpp/build/reference/wx-treat-linker-warnings-as-errors

또는, 약간의 시간이 지나고 나면 vcpkg 개발팀도 이 문제를 인지하고 github 소스 코드를 업데이트할 것이므로 "git pull" 명령어로 최신 업데이트를 받아 보는 것입니다. 제 경우에는 후자의 조치로 해결을 했습니다. ^^




참고로, git pull 명령어가 다음과 같이 막힐 때가 있습니다.

c:/temp/vcpkg>git pull
error: Your local changes to the following files would be overwritten by merge:
        scripts/cmake/vcpkg_get_windows_sdk.cmake
        scripts/getWindowsSDK.ps1
Please commit your changes or stash them before you merge.
Aborting
Updating 76096c95..eccae2ad

메시지에 따라 다음과 같이 stash를 하든,

c:/temp/vcpkg>git stash
Saved working directory and index state WIP on master: 76096c95 Merge pull request #2381 from markgarcia/tbb-2018_U2

어차피 vcpkg의 소스 코드를 수정하지 않는다고 하면 clean을 해도 무방할 것입니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/12/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 166  167  168  169  170  171  172  173  174  175  176  [177]  178  179  180  ...
NoWriterDateCnt.TitleFile(s)
690정성태4/5/200929953오류 유형: 75. Event Viewer - The data is invalid (13)
688정성태4/5/200935887VS.NET IDE: 60. Output 경로에 매크로 상수 사용하는 방법 [1]
687정성태4/5/200929776.NET Framework: 126. Composite Application Guidance for WPF and Silverlight
689정성태4/5/200930073    답변글 .NET Framework: 126.1. CAG - 빌드 환경 구성파일 다운로드1
691정성태4/6/200929411    답변글 .NET Framework: 126.2. CAG - Shell 띄우기파일 다운로드1
695정성태4/10/200930861    답변글 .NET Framework: 126.3. CAG - 간단한 유형의 모듈 제작파일 다운로드1
703정성태4/18/200930141        답변글 .NET Framework: 126.6. CAG - Tabbed MDI Shell 적용파일 다운로드1
697정성태4/13/200934273    답변글 .NET Framework: 126.4. CAG - Unity 컨테이너 사용 [1]파일 다운로드1
698정성태4/15/200933518    답변글 .NET Framework: 126.5. CAG에 MVVM 패턴 적용 (1) [2]파일 다운로드1
686정성태4/4/200955700웹: 11. IE 8 - TabProcGrowth 레지스트리 키 [2]
685정성태4/3/200956098개발 환경 구성: 38. Hyper-V 사용 후기 [5]
684정성태4/2/200930725오류 유형: 74. IE 8 설치 이후, VS.NET 위저드 화면 동작 오류
683정성태3/28/200937676디버깅 기술: 26. 보호 모드로 응용 프로그램 디버깅하는 방법 - 두 번째 이야기 [3]
682정성태3/27/200934438디버깅 기술: 25. 보호 모드로 응용 프로그램 디버깅하는 방법 [2]
681정성태3/23/200931985오류 유형: 73. SQL Server 2008 Express 설치 오류
680정성태3/21/200931815.NET Framework: 125. WPF - RadioButton에 대한 데이터바인딩(2) [1]파일 다운로드1
679정성태3/15/200926487오류 유형: 72. IE 8 멈춤 현상 - 두 번째 이야기
678정성태3/15/200931927개발 환경 구성: 37. Hyper-V에서 Vista의 Virtual Machine Bus 장치 인식 문제
677정성태3/15/200932091개발 환경 구성: 36. MSI P45 Neo3-FR V2 - RAID 1 구성
997정성태2/26/201127372    답변글 개발 환경 구성: 36.1. 개발 환경 구성: 34 - 1. RAID 1 구성 이후...
676정성태3/15/200928417오류 유형: 71. IE 8 RC1 - 멈춤 현상
675정성태3/14/200931449오류 유형: 70. Virtual Machine Additions 제거
673정성태3/11/200930108웹: 10. 금일 진행되었던 마이크로소프트 IE 8 행사의 ActiveX 세션 PPT [6]파일 다운로드1
672정성태3/1/200943594Windows: 43. Loopback network adapter 설치하기 [2]
670정성태2/22/200936427.NET Framework: 124. IIS 7에서 SVC 호스팅 [1]
669정성태2/21/200930305오류 유형: 69. The SQL Server Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service.
... 166  167  168  169  170  171  172  173  174  175  176  [177]  178  179  180  ...