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.0
Windows 10 SDK must be installed - Nuget is used for other dependencies. Open
vowpalwabbit/vw.sln
in 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
VcpkgIntegration
environment variable tovcpkg.targets
file on your machine. Example:VcpkgIntegration=<vcpkg_root>\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets
- Set
BUILD_FLATBUFFERS
environment variable toBUILD_FLATBUFFERS
on you machine. Should look like:BUILD_FLATBUFFERS=BUILD_FLATBUFFERS
- Add the flatbuffers tool directory to your
PATH
:<vcpkg_root>\installed\x64-windows\tools\flatbuffers
OR setflatcPath
environment variable to theflatc.exe
on 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_TOOLSET
variable tov141
by addingset(VCPKG_PLATFORM_TOOLSET v141)
to the newx64-windows-v141.cmake
file
vcpkg install flatbuffers:x64-windows-v141
- Set
VcpkgIntegration
environment variable tovcpkg.targets
file on your machine. Example:VcpkgIntegration=<vcpkg_root>\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets
- Set
BUILD_FLATBUFFERS
environment variable toBUILD_FLATBUFFERS
on you machine. Should look like:BUILD_FLATBUFFERS=BUILD_FLATBUFFERS
- Set
VcpkgPlatformToolset
environment variable tov141
- Add the flatbuffers tool directory to your
PATH
:<vcpkg_root>\installed\x64-windows-v141\tools\flatbuffers
OR setflatcPath
environment variable to theflatc.exe
on your machine. Example:flatcPath=<vcpkg_root>\installed\x64-windows-v141\tools\flatbuffers\flatc.exe