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

비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11783정성태11/18/201818224오류 유형: 504. 윈도우 환경에서 docker가 설치된 컴퓨터 간의 ping IP 주소 풀이 오류
11782정성태11/18/201817392Windows: 152. 윈도우 10에서 사라진 "Adapters and Bindings" 네트워크 우선순위 조정 기능 - 두 번째 이야기
11781정성태11/17/201820752개발 환경 구성: 422. SFML.NET 라이브러리 설정 방법 [1]파일 다운로드1
11780정성태11/17/201821744오류 유형: 503. vcpkg install bzip2 빌드 에러 - "Error: Building package bzip2:x86-windows failed with: BUILD_FAILED"
11779정성태11/17/201822644개발 환경 구성: 421. vcpkg 업데이트 [1]
11778정성태11/14/201820003.NET Framework: 803. UWP 앱에서 한 컴퓨터(localhost, 127.0.0.1) 내에서의 소켓 연결
11777정성태11/13/201820445오류 유형: 502. Your project does not reference "..." framework. Add a reference to "..." in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
11776정성태11/13/201818459.NET Framework: 802. Windows에 로그인한 계정이 마이크로소프트의 계정인지, 로컬 계정인지 알아내는 방법
11775정성태11/13/201820305Graphics: 31. .NET으로 구현하는 OpenGL (6) - Texturing파일 다운로드1
11774정성태11/8/201818704Graphics: 30. .NET으로 구현하는 OpenGL (4), (5) - Shader파일 다운로드1
11773정성태11/7/201818398Graphics: 29. .NET으로 구현하는 OpenGL (3) - Index Buffer파일 다운로드1
11772정성태11/6/201820331Graphics: 28. .NET으로 구현하는 OpenGL (2) - VAO, VBO파일 다운로드1
11771정성태11/5/201819385사물인터넷: 56. Audio Jack 커넥터의 IR 적외선 송신기 - 두 번째 이야기 [1]
11770정성태11/5/201827681Graphics: 27. .NET으로 구현하는 OpenGL (1) - OpenGL.Net 라이브러리 [3]파일 다운로드1
11769정성태11/5/201818655오류 유형: 501. 프로젝트 msbuild Publish 후 connectionStrings의 문자열이 $(ReplacableToken_...)로 바뀌는 문제
11768정성태11/2/201819145.NET Framework: 801. SOIL(Simple OpenGL Image Library) - Native DLL 및 .NET DLL 제공
11767정성태11/1/201820082사물인터넷: 55. New NodeMcu v3(ESP8266)의 IR LED (적외선 송신) 제어파일 다운로드1
11766정성태10/31/201822107사물인터넷: 54. 아두이노 환경에서의 JSON 파서(ArduinoJson) 사용법
11765정성태10/26/201819042개발 환경 구성: 420. Visual Studio Code - Arduino Board Manager를 이용한 사용자 정의 보드 선택
11764정성태10/26/201823898개발 환경 구성: 419. MIT 라이선스로 무료 공개된 Detours API 후킹 라이브러리 [2]
11763정성태10/25/201820945사물인터넷: 53. New NodeMcu v3(ESP8266)의 https 통신
11762정성태10/25/201821366사물인터넷: 52. New NodeMCU v3(ESP8266)의 http 통신파일 다운로드1
11761정성태10/25/201821300Graphics: 26. 임의 축을 기반으로 3D 벡터 회전파일 다운로드1
11760정성태10/24/201816738개발 환경 구성: 418. Azure - Runbook 내에서 또 다른 Runbook 스크립트를 실행
11759정성태10/24/201818325개발 환경 구성: 417. Azure - Runbook에서 사용할 수 있는 다양한 메서드를 위한 부가 Module 추가
11758정성태10/23/201820629.NET Framework: 800. C# - Azure REST API 사용을 위한 인증 획득 [3]파일 다운로드1
... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...