Trouble using rtabmap C++ library on Windows

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Trouble using rtabmap C++ library on Windows

aaaaa
Good day,

I am currently trying to compile and run the code from this tutorial: https://github.com/introlab/rtabmap/wiki/Cplusplus-RGBD-Mapping on windows, but I've been having a lot of difficulties.

My question is: is it supposed to be this difficult? or am I missing something simple?

So far I have:
- installed rtabmap using the RTABMap-0.20.7-win64.exe all in one installer from https://github.com/introlab/rtabmap/releases
- tried to run `cmake .` to generate project files for the tutorial
- got many errors about missing libraries
- installed opencv, qt, PCL (possibly other missing libraries)
- had to manually create Eigen3_DIR, OpenCV_DIR, PCL_ROOT, etc. variables to point to the correct paths of each installed library
- finally got cmake to generate the visual studio project
- tried to build the visual studio project only for it to tell me that many include files could not be found
- had to manually add a number of additional include paths to the visual studio project
- some VTK header files were missing (QVTKWidget.h and pretty much all other files for VTK QT support) so I had to install VTK myself and copy/paste the nessisary header files into PCL\3rdParty\VTK\include

Now when I try to build it is still complaining that I am missing zlib.lib and many g2o lib files... which seems rather suspicious to me since the rtabmap installation already contains .dll binaries for both of these libraries (however no .libs). It looks like I am going to have to compile the .lib files myself.

All of these difficulties makes me think I'm doing something very obviously wrong...

I'm sorry my description of my installation process so far is quite vague, I can get more detail if needed. Right now all I want to know is: should it be this hard? Am I on the right track? or have I missed some magical installer/visual studio/cmake settings that would make this headache go away?

Reply | Threaded
Open this post in threaded view
|

Re: Trouble using rtabmap C++ library on Windows

matlabbe
Administrator
Hi,

The windows binaries are not meant for development. You may look how rtabmap is built in this script: https://github.com/introlab/rtabmap/blob/master/.appveyor.yml. You may also look at the build from source instructions here: https://github.com/introlab/rtabmap/wiki/Installation#source-1

Eventually, we could make a binary release based on AllInOne PCL installer (installing all development files required for rtabmap) https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.11.1, but not sure if in this package PCL is built with VTK-QT support, which is required for rtabmap (for ui tools).

In summary, building rtabmap from scratch on Windows is not easy as it depends on many open source projects (Windows and Open Source don't work always great together).

Building on Ubuntu is the easiest, as most dependencies can be installed from a single command line.

Regards,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Trouble using rtabmap C++ library on Windows

aaaaa
Thanks for your reply Mathieu!

I guess I'll try compiling from source and consider switching to Ubuntu.

Also, (Sorry this is kind of off topic for the forum) would you happen to know another C++ RGB-D SLAM library that does play well with Windows?