robotology / bayes-filters-lib

A flexible, modern, C++ recursive Bayesian estimation library.
https://robotology.github.io/bayes-filters-lib/doc/html/index.html
Other
69 stars 30 forks source link

Building Library on Windows #86

Open lasyakoechlin opened 4 years ago

lasyakoechlin commented 4 years ago

Hi, I was wondering if you could provide some additional details on how to build the library using windows?

I installed ninja and followed the steps in the readme. When I ran $ cmake -GNinja .. I get the following errors:

 Could NOT find Eigen3 (missing: EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK)
  (Required is at least version "2.91.0")

I have Eigen3, but perhaps I just don't understand where I need to place it so that the system will recognize it?

Any help would be greatly appreciated.

Thanks!

lasyakoechlin commented 4 years ago

I have made some progress. I was able to link it with Eigen3. But now I get the following compilation error.

image

claudiofantacci commented 4 years ago

Hi @lasyakoechlin, unfortunately I no longer have a Windows machine, so I'll might have limited info to guide you through. First and foremost

  1. what Visual Studio version have you got on your machine?
  2. Are you using vcpkg?
  3. Where did you install ninja?

Generally speaking, if you have one of the latest version of Visual Studio, vcpkg properly set up with the few dependencies needed by this repo and you're using ninja provided with visual studio, you would be good to go 😄

Let me know!

lasyakoechlin commented 4 years ago

Hi, thanks for your reply! I was experimenting with vcpkg, as well as just ninja on its own. I couldn't figure out how to get vcpkg to build from a target folder on my computer, rather than just to install one of the predefined C++ libraries that it provides out of the box. I can look into that in more details. Thanks!

claudiofantacci commented 4 years ago

If you set up vcpkg and have CMake installed properly (I guess some env variables are involved to pick up libraries from vcpkg) you should be fine.