2 Compiling OSRM Library
Hamza edited this page 2026-06-02 11:06:30 +02:00

Follow instructions in this link DeepWiki OSRM-Backend | Building From Source

After compiling OSRM on Windows, the resulting directory structure at C:\OSRM follows the standard Unix-like installation layout (common for CMake-based projects). Here's documentation-ready text you can use: Compilation Output After a successful build and installation, OSRM is organized under a single root directory (C:\OSRM by default) with the following structure:

bin\

Contains the compiled executable files and any required runtime libraries (DLLs).

  • Routing engine: osrm-routed.exe
  • Preprocessing tools: osrm-extract.exe, osrm-contract.exe, osrm-partition.exe, osrm-customize.exe
  • Utility: osrm-components.exe
  • Dependencies: Required DLLs such as Boost, Intel TBB, and other linked libraries

include\

Contains the C++ header files (.h / .hpp) that define OSRM's public API.

  • Use these headers when building custom applications that link against the OSRM library
  • Includes the osrm/ subdirectory with classes like EngineConfig, OSRM, TableParameters, etc.

lib\

Contains static and import libraries (.lib files) used at compile time.

  • Link against these when integrating OSRM as a library into your own C++ projects
  • May also contain CMake configuration files (e.g., osrmConfig.cmake) to help other projects find OSRM via find_package()

share\

Contains architecture-independent data files and resources.

  • Routing profiles: Lua scripts such as car.lua, foot.lua, bicycle.lua
  • CMake helpers: Additional build system support files
  • Documentation / examples: Sample configurations or extra data required by the engine

Usage Notes

  • To run OSRM commands from any Command Prompt, add C:\OSRM\bin to your system's PATH environment variable.
  • The include and lib folders are only needed if you plan to develop applications that use OSRM as a linked library.
  • The share folder typically contains the Lua profiles required during the osrm-extract preprocessing stage.