Dependencies windows old solution - VowpalWabbit/vowpal_wabbit GitHub Wiki
Ensure you have the source:
git clone --recursive https://github.com/VowpalWabbit/vowpal_wabbit.git
cd vowpal_wabbit
- Either Visual Studio 2017 or 2019 can be used, VS2019 is recommended
- Visual Studio 2017 (v141) toolset must be installed if using VS 2019
-
10.0.16299.0Windows 10 SDK must be installed - Nuget is used for other dependencies. Open
vowpalwabbit/vw.slnin Visual Studio and restore Nuget dependencies
If you are not interested in using the flatbuffer support you can skip to: Next step: building on Windows
If using Visual Studio 2017 (v141) flatbuffers can be installed via Vcpkg by running:
vcpkg install flatbuffers:x64-windows
- Set
VcpkgIntegrationenvironment variable tovcpkg.targetsfile on your machine. Example:VcpkgIntegration=<vcpkg_root>\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets - Set
BUILD_FLATBUFFERSenvironment variable toBUILD_FLATBUFFERSon you machine. Should look like:BUILD_FLATBUFFERS=BUILD_FLATBUFFERS - Add the flatbuffers tool directory to your
PATH:<vcpkg_root>\installed\x64-windows\tools\flatbuffersOR setflatcPathenvironment variable to theflatc.exeon your machine. Example:flatcPath=<vcpkg_root>\installed\x64-windows\tools\flatbuffers\flatc.exe
If using Visual Studio 2019 or if Visual Studio 2019 (v142) is installed then additional steps will need to be taken to avoid linker errors due to version incompatibilities. Flatbuffers will need to be installed via Vcpkg using v141:
- From the triplets directory in your Vcpkg installation (e.g.
<vcpkg_root>\triplets)
cp x64-windows.cmake x64-windows-v141.cmake
- Set the
VCPKG_PLATFORM_TOOLSETvariable tov141by addingset(VCPKG_PLATFORM_TOOLSET v141)to the newx64-windows-v141.cmakefile
vcpkg install flatbuffers:x64-windows-v141
- Set
VcpkgIntegrationenvironment variable tovcpkg.targetsfile on your machine. Example:VcpkgIntegration=<vcpkg_root>\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets - Set
BUILD_FLATBUFFERSenvironment variable toBUILD_FLATBUFFERSon you machine. Should look like:BUILD_FLATBUFFERS=BUILD_FLATBUFFERS - Set
VcpkgPlatformToolsetenvironment variable tov141 - Add the flatbuffers tool directory to your
PATH:<vcpkg_root>\installed\x64-windows-v141\tools\flatbuffersOR setflatcPathenvironment variable to theflatc.exeon your machine. Example:flatcPath=<vcpkg_root>\installed\x64-windows-v141\tools\flatbuffers\flatc.exe