본문 바로가기

Open Source/OSRM

OSRM Backend Build. (Win visual studio 2019)

Windows OS에서 최신 OSRM-Backend 빌드 방법에 대해서 정리한 글이며, Visual Studio 2019가 필요하다.

다른 버전의 Visual Studio 에서 빌드를 하기 위해 몇가지 설정이 더 필요한데,

이는 추후에 다시 정리할 생각이다.

 

1. 소스코드 다운

git clone github.com/Project-OSRM/osrm-backend

 

2. build-local.bat 수정

원래는 SET LOCAL_DEV=1 이 주석처리되어 있을 것이다.

따로 건드릴 필요가 없긴한데, 이 주석을 해제해주면 빌드 후 다시 빌드를 할때 불필요한 작업을 줄여줄 수 있다.

 

3. appveyor-build.bat 수정

본인 PC에 Visual Studio 2019 와 맞는 MSBuild 실행파일이 있는 경로로 바꾸어 준다.

밑에 vcvars64.bat 경로는 Visual Studio 2019 이면 따로 바꾸지 않아도 된다.

혹시 다르면 설치된 경로에 맞게 바꿔주면 된다.

 

CMake 실행 옵션에서 마지막에 -DCMAKE_GENERATOR_PLATFORM=x64 를 추가한다.

주의 할 점은 ^ 한 후에 추가해야 한다는 것이며,

OSRM은 64bit 환경이므로 이 옵션이 필요하다.

 

4. build-local.bat 실행

최초 배치 파일 실행하면 

CMake와 osrm-deps 라고 osrm-backend 빌드를 위한 추가라이브러리를 다운받는다.

powershell Invoke-WebRequest 를 통해 다운받게 되므로 네트워크 상황에 따라 다운로드 속도가 느릴 수 있다.

최초 다운 후 빌드 실패 시 Invoke-WebRequest 가 실행되는 부분을 삭제하고 실행하길 바란다. 

 

빌드 마무리 후 테스트를 진행하는데 실패하더라도 큰 신경 쓸 필요는 없다. 

빌드 만 오류 없이 잘되면 된다.

 

7. dll 추가

빌드 후 프로그램 실행을 하면 다음과 같은 에러가 발생한다.

필요한 dll은 프로젝트_디렉터리\osrm-backend\osrm-deps\lib에 있으니 해당 경로에 모든 dll 파일을 실행파일이 존재하는 디렉터리로 옮기면 된다.

이로서 osrm 빌드 및 실행을 완료하였다.

 

끝으로 다운 받은 CMake와 osrm-deps의 압축해제를 위해 7z 가 필요하다.

이는 아래 링크에서 다운 받을 수 있다.

https://www.7-zip.org/

 

nodejs 도 빌드 후 진행하는 테스트를 위해 필요하다고 하니 설치하길 바란다.

https://nodejs.org/

 

이 글에서 빌드한 osrm 은 release용이므로 디버깅이 불가능하다.

CMake 실행 시 옵션을 debug로 바꾸면 빌드가 불가능하게 된다.

이는 의존 라이브러리(Boost, TBB) 가 디버깅 용이 없기 때문인데, 이에 대한 해결방법은 추후에 정리해보도록 하겠다.

'Open Source > OSRM' 카테고리의 다른 글

OSRM Backend build for debugging. (Win visual studio 2017)  (0) 2021.11.11