Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Building FLANN with Visual Studio

Building FLANN 1.8.4 with Visual Studio

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. ソースコードの入力先とソリューションファイルの出力先を指定する。

    • 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 (or C:\Program Files (x86)\flann)
  4. [Add Entry]を押して以下の設定を追加する。

    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    Description:
    * Debugビルドの生成ファイルのファイル名(最後尾)に付加する文字列。
  5. [Generate]を押してソリューションファイルを出力する。

Build

  1. Visual Studioを管理者権限で起動してFLANNのソリューションファイル(C:\flann-1.8.4-src\build\flann.sln)を開く。
    (Visual Studioを管理者権限で起動しないとINSTALLが失敗する。)

  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のみをビルド]を押してFLANNをインストールする。
      CMAKE_INSTALL_PREFIXで指定した出力先へ必要なファイルがコピーされる。

Environment Variable

  1. 環境変数FLANN_ROOTを作成してFLANNのパス(C:\Program Files\flann)を設定する。

  2. 環境変数Pathに;%FLANN_ROOT%\binを追加する。

Building FLANN 1.9.1 with Visual Studio

Download

  1. FLANN 1.9.1(flann-1.9.1.zip)をダウンロードしてファイルを解凍する。(C:\flann-1.9.1)
    https://github.com/mariusmuja/flann/releases/tag/1.9.1
     

CMake

  1. ソースコードの入力先とソリューションファイルの出力先を指定する。

    • Where is the source code: C:\flann-1.9.1
    • Where is build the binaries: C:\flann-1.9.1\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 (or C:/Program Files (x86)/flann)
  4. [Add Entry]を押して以下の設定を追加する。      

           

       
    Name: CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
    Type: BOOL
    Value: ☑(check)
    Description:

       
    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    Description:

    * Debugビルドの生成ファイルのファイル名(最後尾)に付加する文字列。

    1. [Generate]を押してソリューションファイルを出力する。

    Build

    1. Visual Studioを管理者権限で起動してFLANNのソリューションファイル(C:\flann-1.9.1\build\flann.sln)を開く。
      (Visual Studioを管理者権限で起動しないとINSTALLが失敗する。)

    2. FLANNをビルドする。(ALL_BUILD)

      1. ソリューションの構成(Debug, Release)を設定する。
      2. ソリューションエクスプローラーからALL_BUILDプロジェクトを選択する。
      3. [ビルド]>[ソリューションのビルド]を押してFLANNをビルドする。
    3. FLANNをインストールする。(INSTALL)

      1. ソリューションエクスプローラーからINSTALLプロジェクトを選択する。
      2. [ビルド]>[プロジェクトのみ]>[INSTALLのみをビルド]を押してFLANNをインストールする。
        CMAKE_INSTALL_PREFIXで指定した出力先へ必要なファイルがコピーされる。

    Environment Variable

    1. 環境変数FLANN_ROOTを作成してFLANNのパス(C:\Program Files\flann)を設定する。

    2. 環境変数Pathに;%FLANN_ROOT%\binを追加する。

@njm137

This comment has been minimized.

Copy link

commented Mar 29, 2017

If you get an error about .serialize when compiling flann, I found a good stack overflow post that fixed it for me.
You just have to add the following around line 96 of serialize.h file.
#ifdef _MSC_VER
BASIC_TYPE_SERIALIZER(unsigned __int64);
#endif

Here's the post:
https://stackoverflow.com/questions/27424343/building-pcl-pcl-kdtree-left-of-serialize-must-have-class-struct-union/27425818#27425818?newreg=8aa2af6012084426a997a20ec1935006

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.