본문 바로가기
C++, MFC

[C++/MFC] vcpkg로 추가한 라이브러리에서 링크 에러 발생 / error LNK2001 : __std_max_element_4

by dev_drive 2023. 3. 20.
반응형

 

vcpkg는 최신 버전의 비주얼스튜디오(VS)만 인식해서 상위 버전의 VS를 설치하고

이전 버전의 VS로 빌드할 때 발생하는 에러 같습니다. 

 

따라서 빌드할 VS의 버전을 지정해주어야 하는데 저는 다음과 같은 방법으로 해결했습니다. 

 

우선 탐색기에서 로컬에 clone한 vcpkg 프로젝트의 경로로 이동합니다.

triplets경로에서 오류가 발생하는 옵션의 cmake파일을 찾습니다.

(여기에 없으면 community경로에서 찾아봅니다)

 

저의 경우 x86-windows-static 옵션을 사용한 프로젝트에서 오류가 나서 

..vcpkg\triplets\community\x86-windows-static.cmake 파일을 수정했습니다.

 

 

해당 파일을 열고 자신이 빌드하려는 VS버전을 입력해줍니다.

저는 VS2019를 사용 중이라 2019버전의 내부 버전인 v142를 플랫폼으로 지정하는 코드를 추가 후 저장했습니다.

set(VCPKG_PLATFORM_TOOLSET v142)

 

그 후 에러가 발생하는 라이브러리를 vcpkg에서 remove명령으로 삭제한 후 다시 install해서 빌드해보시길 바랍니다. 

 

반응형

댓글