Windows users

Exqlite uses an Erlang NIF under the hood.

Means calling a native implementation in C.

For Windows users this means compiling Exqlite does not magically just work.

Of course, using WSL 2 can be an alternative.

Requirements

Install Microsoft Visual C++ build tools

Download page:

visualstudio.microsoft.com/visual-cpp-build-tools

Alternative direct download link:

aka.ms/vs/16/release/vs_buildtools.exe

(aligned with Visual Studio 2019 - version 16)

You need to install the C++ build tools workload with the default optional components.

Building environment

Start command prompt with necessary environment

Assuming you are building for Windows x64.

Within Windows start menu search for:

x64 Native Tools Command Prompt

Starting this command prompt all necessary environment variables

for compiling should be ready within the prompt.

Ready to run:

mix deps.compile exqlite

# or
mix compile
mix test
...

Alternative way to start prompt

Assuming you have latest version of Build Tools, aligned with Visual Studio 2019,

installed in its default installation path.

cmd /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"

Visual Studio Code users using ElixirLS

Assuming you have latest version of Build Tools, aligned with Visual Studio 2019,

installed in its default installation path.

Start Visual Studio Code from a PowerShell prompt within your project folder.

cmd /k '"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && code .'

With starting Visual Studio Code this way, ElixirLS should work

and even your integrated terminal should be aware or the build tools.

Probably make yourself a shortcut for this.

Integrated terminal only

Within your global settings.json or your workspace .vscode\settings.json add:

{
  "terminal.integrated.shell.windows": "cmd.exe",
  "terminal.integrated.shellArgs.windows": [
     "/k",
     "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Auxiliary\\Build\\vcvars64.bat",
  ]
}