Update Compiling OSRM Library

Hamza 2026-06-02 11:06:30 +02:00
parent 6a4d2d1164
commit 9cbb3f10e2

@ -1,3 +1,37 @@
Follow instructions in this link [DeepWiki OSRM-Backend | Building From Source](https://deepwiki.com/Project-OSRM/osrm-backend/1.3-building-from-source)
After following the instructions you will get a folder named OSRM contains binary files: `osrm-components`,
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.