Run on Windows

Installation from package

After unpacking the release archive:

unzip visao-<version>-win64.zip -d C:\visao
dir C:\visao
:: bin\  lib\  stdlib\  dockerfile\

Add bin to PATH. From PowerShell:

setx PATH "$env:PATH;C:\visao\bin"

From cmd.exe:

setx path "%path%;c:\visao\bin"

Open a new shell so the change takes effect. The system-wide equivalent works too: Start → System → Advanced System Settings → Environment Variables. Use it when services or GUI applications need visao.

Smoke test

visao.exe --version
echo int main(void) { return 0; } > %TEMP%\hello.c
visao.exe --language c -- %TEMP%\hello.c

The two-dash separator before the file is intentional. See below.

The -- separator

On Windows, positional file arguments must follow -- so that the CLI parser does not try to interpret backslash-bearing paths as options:

visao.exe --language c -- main.c app\logic.c

(Linux/macOS shells handle quoting differently, so the separator is optional there. We recommend always using it for portability.)

Header search paths

Windows toolchains often live under directories that belong to one IDE. If Visao reports missing headers, point it at the SDK headers explicitly:

visao.exe --language c ^
          --isystem "C:\msys64\mingw64\x86_64-w64-mingw32\include" ^
          --isystem "C:\msys64\mingw64\include" ^
          -- main.c

For Visual C++ projects, set the kit and tools paths:

visao.exe --language cpp ^
          --winkit "C:\Program Files (x86)\Windows Kits\10" ^
          --vctools "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120" ^
          -- main.cpp

Toolchain prep

Same as Linux. Prime the cache once:

visao.exe --update-toolchains

Visao searches the following Windows-specific directories in addition to PATH:

  1. C:\Program Files\LLVM\bin\

  2. C:\Program Files (x86)\LLVM\bin\

  3. C:\msys64\mingw64\bin\

If your toolchain lives elsewhere, register it explicitly with --compiler-path per invocation:

visao.exe --compiler-path "clang:C:\Tools\clang\bin\clang.exe" ^
          --language c -- main.c

Cache location

Toolchain probe cache lives in %APPDATA%\visao\tccache.txt (usually C:\Users\<you>\AppData\Roaming\visao\tccache.txt). You can delete it. The next probe writes it again.

Console mode caveats

  • The colour-aware output expects a UTF-8-capable terminal. On Windows 10 1909+ and Windows 11 the default conhost and the new Windows Terminal both work; on older Windows or third-party terminals lacking VT support, pass --no-color or set NO_COLOR=1.

  • cmd.exe /Q style quoting can remove forward slashes in paths. Use Windows Terminal or PowerShell for invocations with many arguments.