Windows Installation Guide
Setting up Development Environment with MSYS2
Prerequisites
NVIDIA GPU with CUDA support (optional, for GPU acceleration)
MSYS2 (required) - Download from MSYS2 website - Run the installer and follow the installation wizard
Installing Required Packages
Open “MSYS2 MinGW64” terminal and update the system:
pacman -SyuInstall required development packages:
# Core development tools pacman -S mingw-w64-x86_64-gcc pacman -S mingw-w64-x86_64-gcc-fortran pacman -S mingw-w64-x86_64-cmake pacman -S mingw-w64-x86_64-ninja # Python and dependencies pacman -S mingw-w64-x86_64-python pacman -S mingw-w64-x86_64-python-pip pacman -S mingw-w64-x86_64-python-numpy # Testing and development tools pacman -S mingw-w64-x86_64-gtest pacman -S mingw-w64-x86_64-clang-tools-extra pacman -S mingw-w64-x86_64-lcov # Configuration backends pacman -S mingw-w64-x86_64-yaml-cpp pacman -S mingw-w64-x86_64-nlohmann-json
Install ng-log from source:
git clone --depth 1 https://github.com/ng-log/ng-log.git cd ng-log mkdir build cd build cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/mingw64 ninja ninja install cd ../..
IDE Setup
Install VS Code from the official website
Install required extensions:
code --install-extension ms-vscode.cpptools code --install-extension ms-vscode.cmake-tools code --install-extension twxs.cmake
Building METADA
Configure the project:
mkdir build cd build cmake -G Ninja \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_CXX_STANDARD=17 \ -DPython3_ROOT_DIR=/mingw64 \ -DPython3_EXECUTABLE=/mingw64/bin/python3 \ ..
Build the project:
cmake --build .
Running Tests
Execute the test suite:
cd build
ctest --output-on-failure
Note: Python tests are disabled on Windows with MSYS2.
Troubleshooting
Common issues and solutions:
CMake not found: Ensure MSYS2’s MinGW64 bin directory (C:/msys64/mingw64/bin) is in your system PATH
Build errors: Run
pacman -Syuto ensure all packages are up to dateCUDA errors: Install CUDA Toolkit from NVIDIA’s website if GPU support is needed
ng-log issues: Verify ng-log installation and ensure it’s in the system PATH