> 백엔드 개발 > C++ > MinGW에 `std::stoi`가 누락된 이유는 무엇입니까? 근본적인 문제와 가능한 해결책을 살펴보세요.

MinGW에 `std::stoi`가 누락된 이유는 무엇입니까? 근본적인 문제와 가능한 해결책을 살펴보세요.

Mary-Kate Olsen
풀어 주다: 2024-11-02 15:28:02
원래의
198명이 탐색했습니다.

Why is `std::stoi` Missing in MinGW? A Look at the Underlying Problem and a Possible Solution.

MinGW의 std::stoi 오류: 종속성 딜레마

MinGW에서 std::stoi를 사용하여 컴파일할 수 없습니까? 놀라운 이유와 잠재적 해결 방법을 알아보세요.

문제:

gcc 4.6.1에서 std::stoi와 같은 기능을 사용하려고 하면 MinGW에서 오류가 발생합니다. 특히 " 오류: 'stoi'는 'std'의 구성원이 아닙니다." 이러한 함수는 최신 버전의 GNU 표준 라이브러리(GSL)에 있는데 왜 MinGW에는 없나요?

답변:

범인은 비표준 선언입니다. Windows에서. GSL은 이 플랫폼에서 _GLIBCXX_HAVE_BROKEN_VSWPRINTF를 정의하여 변환 기능 std::stoi 및 기타 기능을 비활성화합니다.

해결 방법:

가능한 해결 방법은 GSL 헤더 파일을 수정하는 것입니다. .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h의 2754행에서 !definated(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) 매크로를 제거합니다. 또한 std::vswprintf를 참조하는 2905~2965행 주위에 매크로를 다시 추가합니다.

의미:

이 해결 방법은 std::to_wstring 기능을 비활성화하지만 다음을 허용합니다. 다른 변환 기능을 사용합니다. 이는 비표준 수정이므로 예상치 못한 결과를 초래할 수 있습니다.

위 내용은 MinGW에 `std::stoi`가 누락된 이유는 무엇입니까? 근본적인 문제와 가능한 해결책을 살펴보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿