Sign inSign up

tenox7/msvc-arm32

By tenox7

•Updated 1 day ago

MSVC 14.44 for 32-bit ARM Windows (Thumb-2) under Wine; arm64 and amd64 hosts

Image
0

194

tenox7/msvc-arm32 repository overview

⁠msvc-arm32

Microsoft C/C++ (MSVC 14.44, Visual Studio 2022 17.14) for 32-bit ARM Windows (Thumb-2), under Wine. It runs natively on arm64 (Apple Silicon) and on amd64. 14.44 is the last MSVC with an ARM32 target.

The image contains no Microsoft software. msvc-setup downloads MSVC, its ARM32 libraries and the ARM32 Windows 10 SDK from Microsoft into a volume.

⁠Install

docker run --rm -e ACCEPT_MSVC_LICENSE=yes -v msvc-arm32:/opt/msvc tenox7/msvc-arm32 msvc-setup

ACCEPT_MSVC_LICENSE=yes accepts the Visual Studio Build Tools license⁠. SDK=0 skips the Windows SDK.

⁠Use

docker run --rm -v msvc-arm32:/opt/msvc -v "$PWD":/src tenox7/msvc-arm32 cl hello.c

Tools: cl link lib dumpbin editbin armasm cvtres nmake undname rc mt, plus clang (--target=thumbv7-pc-windows-msvc) and lldb (reads PDB). INCLUDE and LIB point at MSVC and the SDK; MSVC_ENV=0 leaves them unset. Paths are relative to /src or absolute.

wine32 hello.exe runs a 32-bit ARM Windows program on the 32-bit ARM Wine (prefix /opt/wine32); the host must run 32-bit ARM Linux programs, natively or through QEMU binfmt (Docker Desktop has it). mtools, dosfstools and sfdisk make disk images.

⁠Backup and mirror

docker run --rm -e ACCEPT_MSVC_LICENSE=yes -v /path/to/backup:/backup tenox7/msvc-arm32 msvc-backup /backup

This saves every ARM32 MSVC and Windows SDK download to /path/to/backup, sha256 checked (1.2 GB).

docker run --rm -e ACCEPT_MSVC_LICENSE=yes -e MSVC_MIRROR=/backup -v /path/to/backup:/backup:ro -v msvc-arm32:/opt/msvc tenox7/msvc-arm32 msvc-setup

MSVC_MIRROR makes msvc-setup install from that backup instead of from Microsoft, with no network needed.

⁠Build

docker build -t tenox7/msvc-arm32 .

--build-arg ACCEPT_MSVC_LICENSE=yes puts MSVC in the image, for local use only. Source: https://github.com/tenox7/msvc-arm32⁠

Tag summary

Content type

Image

Digest

sha256:17b0926cf…

Size

976.4 MB

Last updated

1 day ago

docker pull tenox7/msvc-arm32