C:\Program Files\NASM
(the 32-bit NASM installer uses "C:\Program Files (x86)\nasm" instead)where.exe nasm
nasm -v
C:\Program Files\YASM
where.exe yasm
yasm --version
These tools are not required to compile the standard VeraCrypt application binaries or the Windows driver with Visual Studio 2022 and the current WDK. Install them only when you need to rebuild the legacy BIOS bootloader in "src\Boot\Windows" or build solution configurations that include the Boot project, such as "ReleaseCustomEFI".
nasm
gzip
upx
dd --help
If you installed Visual Studio 2022 with the components listed above, this step can be skipped. Install the Build Tools only if you need a command-line build environment without the full Visual Studio IDE.
msbuild src\VeraCrypt.sln /m /p:Configuration=Release /p:Platform=x64
msbuild src\VeraCrypt.sln /m /p:Configuration=Release /p:Platform=ARM64
msbuild src\VeraCrypt.sln /m /p:Configuration=Release /p:Platform=Win32
msbuild src\Driver\Driver.vcxproj /m /p:Configuration=Release /p:Platform=x64
msbuild src\Driver\Driver.vcxproj /m /p:Configuration=Release /p:Platform=ARM64
msbuild src\VeraCrypt.sln /m /p:Configuration=ReleaseCustomEFI /p:Platform=x64
msbuild src\VeraCrypt.sln /m /p:Configuration=ReleaseCustomEFI /p:Platform=ARM64
With the sign_test.bat script you just signed the VeraCrypt executables. This is necessary, since Windows only accepts drivers, which are trusted by a signed Certificate Authority.
Since you did not use the official VeraCrypt signing certificate to sign your code, but a public development version, you have to import and therefore trust the certificates used.
error MSB8040: Spectre-mitigated libraries are required for this project
In the Visual Studio Installer, under "Individual components", install the MSVC v143 Spectre-mitigated libraries matching your toolset version and each target architecture (x64/x86 or ARM64), along with the corresponding ATL components "with Spectre Mitigations".error C1083: Cannot open include file: 'atlbase.h' (or 'atlcomcli.h')
The ATL components are not installed. In the Visual Studio Installer, under "Individual components", install "C++ ATL for latest v143 build tools" (and its Spectre variant) for every architecture you build.error MSB8066: Custom build for 'Aes_hw_cpu.asm;...' exited with code 9009
The assemblers cannot be found: "nasm.exe" and "yasm.exe" must both be available on the Path (exit code 9009 means "command not found"). Note that a command prompt or Visual Studio instance that was already open when you changed the Path variable does not see the new value - open a new one and build again.
if (!IsOSAtLeast (WIN_10))
return TRUE;
return TRUE;