msys2에서 ucrt 런타임을 사용합시다! 환영합니다 ucrt64

2720 단어 C++msys2Cming

ucrt란?



Universal CRT로 코드 업그레이드 | Microsoft Docs

여기에 해설이 있지만 요약한다.

우선 프로그램을 움직이기 위해서는 적어도 C의 런타임 라이브러리가 필요하게 된다. 이것은 msvcrt가 지금까지 사용되어 왔습니다.

Visual Studio 2015에서 C lintime 리팩토링이 이루어졌으며 다양한 기능이 추가되었습니다. 예를 들어 strtod에서 부동 소수점의 퍼스 개선이라든지 std::quick_exit 의 대응이라든가 그런 것이다. 이것을 Universal C Runtime, ucrt라고 부른다.

msys2에서도 이 ucrt에 대응하는 움직임이 보여지고 있다.

msys2의 ucrt 지원



비교적 몰래 행해지고 있다.

htps : // 기주 b. 코 m / msys2 / 모두 GW - 파카 게 s / 이스에 s / 6901

당이 해당 issue처럼 추측한다.

몇번인가 pacman -Syuu 로 갱신해 계속하고 있으면(자) 그 중 msys64 바로 아래에 ucrt64.exe/` ucrt64.ico 가 자라 간다.


아직 달려나가는 프로젝트로 패키지 측도 대응하고 있지 않는 것도 있다(나의 패키지도 어떻게든 하지 않으면···).

문제해결



ucrt64.exe /``ucrt64.ico가 없습니다!


pacman -Syuu에서 계속 업데이트하십시오. 그 중 자랍니다. 해당 패키지는
htps : // 팹 c 게이 s. msys2. 오 rg / pac 게이지 / msys 2 - 똥 r? Repo = msys & ぁ 리안 t = x86_64
이것입니다.

pacman -Syuu에서 ucrt64를 보러 가는 모습이 없습니까?


$pacman -Syuu
:: パッケージデータベースの同期中...
 mingw32 は最新です
 mingw64 は最新です
 ucrt64 は最新です
 msys は最新です

와 같이 되어 있는 것이 바람직한 상태이지만 ucrt64가 없다고 하는 경우도 있다

/etc/pacman.conf 확인


[mingw32]
Include = /etc/pacman.d/mirrorlist.mingw32

[mingw64]
Include = /etc/pacman.d/mirrorlist.mingw64

[ucrt64]
Include = /etc/pacman.d/mirrorlist.ucrt64

[msys]
Include = /etc/pacman.d/mirrorlist.msys

위와 같은 것이 포함되는 것이 바람직하지만 ucrt64 항목이 없을 수도 있습니다. 이 경우 수동으로 추가합니다.

/etc/pacman.d/mirrorlist.ucrt64 확인



원래 없을지도 모른다. 이 경우 /etc/pacman.d/mirrorlist.minw64를 복사하여 만들고 각 URL의 끝을 ucrt64로 바꿉니다.

좋은 웹페이지 즐겨찾기