Skip to content

Instantly share code, notes, and snippets.

@pierceh89
Forked from UnaNancyOwen/FLANN1.8.4.md
Last active November 22, 2015 17:29
Show Gist options
  • Save pierceh89/4f105538305d2d2306f5 to your computer and use it in GitHub Desktop.
Save pierceh89/4f105538305d2d2306f5 to your computer and use it in GitHub Desktop.
Building FLANN with Visual Studio

Building FLANN with Visual Studio (비주얼 스투디오로 FLANN 빌드하는 법)

Download

  1. FLANN 1.8.4(flann-1.8.4-src.zip)를 다운로드하여 원하는 위치에 압축을 푼다.(예: C:\flann-1.8.4-src)
    http://www.cs.ubc.ca/research/flann/#download
    https://github.com/mariusmuja/flann
     

CMake

  1. CMake를 실행하여 아래와 같이 경로를 지정한다.

    • Where is the source code: C:\flann-1.8.4-src (소스 파일 경로)
    • Where is build the binaries: C:\flann-1.8.4-src\build (빌드가 저장될 경로)
  2. [Configure]를 누르고 타겟으로 Visual Studio를 선택한다.

  3. 아래 설정을 확인한다.

    • BUILD_C_BINDINGS ☑ (check)
    • BUILD_MATLAB_BINDINGS ☐ (uncheck)
    • BUILD_PYTHON_BINDINGS ☐ (uncheck)
    • CMAKE_CONFIGURATION_TYPES Debug;Release
    • CMAKE_INSTALL_PREFIX C:\Program Files\flann (64bit) 또는 C:\Program Files (x86)\flann (32bit)
  4. [Add Entry] 버튼을 눌러 다음을 추가한다.

    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    Description:
    위 옵션은 솔루션을 Debug용으로 컴파일 했을 때 파일명 뒤에 -gd가 붙도록 한다.
  5. [Generate]를 눌러서 솔루션이 나오는지 확인해본다.

Build

  1. Build 폴더에서 FLANN 솔루션 파일(*.sln)을 관리자 모드로 연다.

  2. serialization.h의 92행에 다음과 같은 라인을 추가한다. (flann-1.8.4-src\src\cpp\flann\util\serialization.h)

    #ifdef _MSC_VER
    BASIC_TYPE_SERIALIZER( unsigned __int64 );
    #endif
    
  3. FLANN 빌드 (ALL_BUILD)

    1. Debug 모드, Release 모드를 확인한다.
    2. 솔루션 창에서 ALL_BUILD를 선택한다.
    3. [빌드]>[빌드 솔루션]을 눌러서 FLANN을 빌드한다.
  4. FLANN을 INSTALL하기

    1. 솔루션 탐색기에서 INSTALL을 선택한다.
    2. [빌드]>[프로젝트만]>[INSTALL만 빌드]를 선택하여 INSTALL한다.
      CMAKE_INSTALL_PREFIX에 지정된 경로로 필요한 파일들이 복사된다.

Environment Variable (환경 변수)

  1. FLANN_ROOT 라는 이름으로 환경변수를 저장해준다. 경로는 (C:\Program Files\flann)

  2. Path에 위에서 저장한 환경변수를 추가해준다. ;%FLANN_ROOT%\bin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment