Windows Requirements

Platformdefaultfipsbindgen required?
x86_64-pc-windows-msvcC/C++ Compiler, CMake & NASMC/C++ Compiler, CMake, NASM, Go & NinjaYes
x86_64-pc-windows-gnuC/C++ Compiler, CMake & NASMNot SupportedYes
aarch64-pc-windows-msvcNot Yet SupportedNot SupportedN/A
OtherNot SupportedNot SupportedN/A

C/C++ Compiler

Use the following instructions to download Visual Studio Build Tools 2017.

  1. Download the Build Tools for Visual Studio installer.
  2. Execute the installer.
  3. If you have an existing installation chose Modify on the existing installation.
  4. Under Workloads select Visual C++ build tools
  5. Under Individual componenets select
    • C++/CLI support
    • C++ CMake tools for Windows
  6. Confirm selections and click Install

CMake

  1. Download Windows CMake Installer
  2. Execute the installer
  3. Add the CMake installation binary directory to your PATH.
    • set PATH="C:\Program Files\CMake\bin;%PATH%"

NASM

  1. Download and install the Netwide Assembler (NASM)
  2. Add the NASM installation directory to your PATH
    • set PATH="C:\Program Files\NASM;%PATH%"

No-assembly build

It is possible to avoid the NASM requirement by setting the AWS_LC_SYS_NO_ASM/AWS_LC_FIPS_SYS_NO_ASM environment variables. However, this severely impacts performance and can only be used for un-optimized/debug builds. See the notes in our troubleshooting section.

Ninja

  1. Download and install Ninja
  2. Add the Ninja installation directory to your PATH
    • set PATH="C:\ninja\ninja_build;%PATH%"

Bindgen

On most platforms, bindgen requires libclang or llvm package to be installed. See the requirements page in [The bindgen User Guide] for instructions.

libclang / LLVM

  1. Download LLVM Installer
  2. Execute the installer
  3. Update your environment to set LIBCLANG_PATH to the bin directory inside LLVM install directory.
    • set LIBCLANG_PATH="C:\Program Files\LLVM\bin"

bindgen-cli

cargo install --force --locked bindgen-cli

Troubleshooting

See our troubleshooting section.