This repo contains my code for the Route Planning project in Course 1 of the Udacity C++ Nanodegree.
When cloning this project, be sure to use the --recurse-submodules
flag. Using HTTPS:
git clone https://github.com/pre-eth/OpenStreetMap-Route-Planner.git --recurse-submodules
or with SSH:
git clone https://github.com/pre-eth/OpenStreetMap-Route-Planner.git --recurse-submodules
This project was built and tested on Fedora. Building the projects requires building the IO2D library, which can be pretty difficult.
Good luck and here's what else you'll need:
- cmake >= 3.11.3
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- gcc/g++ >= 7.4.0
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same instructions as make - install Xcode command line tools
- Windows: recommend using MinGW
- IO2D
- Installation instructions for all operating systems can be found here
- This library must be built in a place where CMake
find_package
will be able to find it
Compiling and running the project is as easy as:
mkdir build && cd build
cmake ..
make
./OSM_A_star_search
Or to specify a map file:
./OSM_A_star_search -f ../<your_osm_file.osm>
The testing executable is also placed in the build
directory. From within build
, you can run the unit tests as follows:
./test