Cannot convert parameter in VS2010

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

Cannot convert parameter in VS2010

Bill Tandy
Hi all,
First off, I love what you're doing.  I'm a big fan and think that the service you provide is "game changing" in a lot of ways.  

Background:
I'm a XP64 user with VS2010 C++ Express.  I've slogged through many problems in downloading the various libraries, getting CMake to play nice, and otherwise get so close to the finish line that I can smell the finish line tape.  

Problem 1:
I'm getting an error (see below) with the point_types.hpp file, which seems to be a known error since you discuss it in your .9 roadmap.  Is there a temporary work around?

Problem 2:
I'm getting an error with FLANN:
16>C:\PCL\include\pcl/kdtree/kdtree_flann.h(44): fatal error C1083: Cannot open include file: 'flann/flann.hpp': No such file or directory

I've checked all the make files and have tried both C:\FLANN and C:\FLANN\src\cpp\flann, but they both declare the flann.hpp file missing.

Mini-Problem 3:
Your wiki says try to get Eigen3 in a flavor more recent than Beta2, btu I don't see anything more recent.  I think I could install mercurial and maybe pick and choose files from their repository, but I'm not really sure that's what I'm supposed to do.

Thank you in advance!  Even if you can't help me I still look forward to watching this exciting project develop.

-Bill Tandy


Problem 1 Support Material:
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
16>C:\PCL\include\pcl/impl/point_types.hpp(528): error C2664: 'Eigen::Map<PlainObjectType,MapOptions>::Map(float *,const StrideType &)' : cannot convert parameter 1 from 'const Eigen::Map<PlainObjectType,MapOptions>' to 'float *'
16>          with
16>          [
16>              PlainObjectType=Eigen::Array4f,
16>              MapOptions=1,
16>              StrideType=Eigen::Stride<0,0>
16>          ]
16>          and
16>          [
16>              PlainObjectType=const Eigen::Array<float,4,1>,
16>              MapOptions=1
16>          ]
Reply | Threaded
Open this post in threaded view
|

Re: Cannot convert parameter in VS2010

Radu B. Rusu
Administrator
Bill,


On 02/01/2011 03:25 PM, Bill Tandy wrote:
>
> Hi all,
> First off, I love what you're doing.  I'm a big fan and think that the
> service you provide is "game changing" in a lot of ways.

Thanks a lot for the kind words.

> Background:
> I'm a XP64 user with VS2010 C++ Express.  I've slogged through many problems
> in downloading the various libraries, getting CMake to play nice, and
> otherwise get so close to the finish line that I can smell the finish line
> tape.
>
> Problem 1:
> I'm getting an error (see below) with the point_types.hpp file, which seems
> to be a known error since you discuss it in your .9 roadmap.  Is there a
> temporary work around?

I think this error comes from the fact that Eigen3-beta2 doesn't play nice in Windows, so you need to use a newer copy,
either from trunk or from a snapshot tgz.

Now that being said, we cracked our heads today on a const-ness problem, where the Eigen developers changed the internal
API again, this time by fixing a previous relaxed assumption about const in Map. This means that to get PCL to compile
on Eigen3-beta2+ we need a patch.

Erik was kind enough to provide a temporary const_cast<> solution which we pushed in trunk. However, once beta3 comes
out, we're looking at fixing these const issues properly + propagating the changes in the code.


Long story short, a temporary workaround would be to work from trunk on PCL. :)

> Problem 2:
> I'm getting an error with FLANN:
> 16>C:\PCL\include\pcl/kdtree/kdtree_flann.h(44): fatal error C1083: Cannot
> open include file: 'flann/flann.hpp': No such file or directory
>
> I've checked all the make files and have tried both C:\FLANN and
> C:\FLANN\src\cpp\flann, but they both declare the flann.hpp file missing.

Marius or Stefan might be able to help answer this one. I assume you downloaded and installed FLANN, and that the
INCLUDE paths are set accordingly.

> Mini-Problem 3:
> Your wiki says try to get Eigen3 in a flavor more recent than Beta2, btu I
> don't see anything more recent.  I think I could install mercurial and maybe
> pick and choose files from their repository, but I'm not really sure that's
> what I'm supposed to do.

Yeah, the newer versions from the Eigen repository break PCL. We can fix it, but then the older beta2 versions won't
work. :) I think the best solution is to stay put until beta3 comes out on Sunday.



Cheers,
Radu.
--
http://pointclouds.org
_______________________________________________
[hidden email] / http://pointclouds.org
https://code.ros.org/mailman/listinfo/pcl-users