Introduction
This guide explains how to build from source OR-Tools, with support for C++, on Windows.
Unless you plan to modify the source code or use a third-party solver with OR-Tools, we recommend the package installation.
Although these instructions might also work on other Windows variants, we have only tested them on machines meeting the following requirements:
Windows 10 64-bit (x86_64) with:
- Microsoft Visual Studio Enterprise 2022
- Microsoft Visual Studio Community 2022 Preview 2 or above
Prerequisites
The following sections describe the prerequisites for installing OR-Tools.
Visual Studio
To build and run OR-Tools on Windows, you must have Visual Studio 2022 or later installed on your computer with the C++ toolset for Visual Studio.
You can find more details here.
To build OR-Tools programs from the command line you must use a x64 Native Tools Command Prompt (not the Developer Command Prompt).
You can find more details here.
Git
Git, which can be downloaded from https://git-scm.com/.
CMake
CMake (>= 3.18), which can be downloaded from https://www.cmake.org/download. When installing CMake, select the option for a command-line accessible cmake.
Download the source code
There are two distinct branches of the OR-Tools source code on
GitHub: stable
and main
.
The stable
branch has been thoroughly tested and should work flawlessly on all
supported platforms.
The main
branch is where the latest updates and
improvements have been applied; it's more current, but less stable.
Download the stable source code
You can get the stable source code for OR-Tools in either of the following ways:
Clone the
stable
branch by entering:git clone https://github.com/google/or-tools
Download the latest release in a compressed file, by clicking the
Clone or download
button in GitHub.
Download the main source code
To retrieve the source code from the main
branch, enter:
git clone -b main https://github.com/google/or-tools
Download previous releases
You can get the source code for previous releases in either of the following ways:
- Download a previous release from the GitHub release page.
Assuming you have already created a local repository (by
git clone
), you can check out a specific release using a Git tag. For example, to work with the v9.11 release instead of themain
branch, enter the following commands in your local repo:git fetch --all --tags --prune
git checkout tags/v9.11 -b v9.11
Configure the build
Before building OR-Tools, you'll need to configure the CMake build system generator.
Open a terminal and navigate to the directory where you extracted the files. Then enter:
cmake -S . -B build -DBUILD_DEPS=ON
Checkout the CMake documentation for details.
Using SCIP
Since v7.8, SCIP is now integrated so you won't have to install it manually.
Using Gurobi
Gurobi is now pre-integrated. When needed, at runtime, OR-Tools will search for
the Gurobi shared library in the default install path of the Gurobi installers
on MAC OS X and Windows, or by using the GUROBI_HOME
environment variable.
Using an optional third-party MIP solver
You can also use OR-Tools with any of the following optional third-party MIP solvers whose support is disabled by default:
- CPLEX
- GLPK (Linux and MacOS only)
- XPRESS Solver
Please take a look at this documentation for details.
Build the source code
To build the source code, open a terminal and navigate to the directory where you extracted the files. Then enter the following command to compile OR-Tools:
cmake --build build --config Release --target ALL_BUILD -j -v
Checkout the CMake documentation for details.
Test the source code
You can check that everything is running correctly by entering:
cmake --build build --config Release --target RUN_TESTS -v
This runs examples for OR-Tools. If all the examples run successfully, you are ready to get started with OR-Tools.
Cleaning the build files
If you need to re-install OR-Tools, the command:
rm -r build
will remove all compiled dependencies. This can be useful for resetting to a clean state.
Then re-enter the commands:
cmake -S . -B build -DBUILD_DEPS=ON
cmake --build build --config Release --target ALL_BUILD -j -v
Installing OR-Tools on your operating system
You can install OR-Tools for C++ on your operating system by entering:
cmake --build build --config Release --target INSTALL -v