2
Compiling OSRM Library
Hamza edited this page 2026-06-02 11:06:30 +02:00
Table of Contents
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.