How to build iSam under Windows

Due to ill fate I need to quickly build iSam for using it into existing project as SLAM backend. Under Windows 🙁 In this article I want to share my experience.

iSam under Windows

Disclaimer: I am sure that such way is not optimal and express “best practices”, so, in case you have enough time – better to avoid such strategy of quick fixes. But I hope that provided methods can be useful and probably can force some one to add appropriate patches to iSam or SuiteSparse.

Let’s start.

1. Firstly, you need acquire necessary dependencies. Download Eigen, boost, cmake-gui and cygwin.
For building sdl under windows you need dxguid.lib which can be found in DirectX SDK.

2. SDL – can be build under Windows out of box without any problems
just download it from the site above and follow build instructions.

For isam sub-project you should manually add source containing getopt routine – file isam/xgetopt.cpp from this package. Actually you can use any implementation, for example from lcm library.

For generateSpheresICRA2012 projects add include path to boost/include.

After that it should compile.

Note: by default it doesn’t create dynamic library. If you need isam.dll you have to manually change isamlib project configuration type (Properties->General) from “static library” to “Dynamic library” and add libcolamd/libamd libraries for linking.