2010/12/2 Radu Bogdan Rusu<rusu@xxxxxxxxxxxxxxxx>:
Hauke, thanks a _lot_ for fixing this so fast!
Are we getting closer to a releasable beta3? :)
A bit, yes. I'll have a patch for bug 54 (the big const correctness
bug) by tomorrow.
Btw, while testing the latest snapshot, it seems that this code (provided
by
Gael some months ago) is no longer compiling:
https://code.ros.org/svn/ros-pkg/stacks/perception_pcl/trunk/pcl/include/pcl/common/eigen.h
ei_sqrt, ei_cos, ei_sin, etc... do not longer exist.
Have they been renamed to something else or are we doing something wrong?
[Edit: it looks like they might have been renamed to sqrt/cos/sin - is
that
correct? If so, we definitely need a beta3 out soon :)]
ei_sqrt ---> internal::sqrt
etc
Benoit
Thanks,
Radu.
On 12/02/2010 03:43 AM, Hauke Heibel wrote:
Hi Stefan,
thanks for the test-program. I pushed a fix which hopefully works. ;)
The issue was that for std::vector<T> we tried at some point to
derive
from T which works only if T is a class whereas you used a "float". I
agree that this should compile and work but initially the std::vector
workaround was intended for Eigen-types only.
A last comment on the fix which is primarily aimed at Benoit and Gael.
Currently I am assuming that if "!internal::is_arithmetic<T>::value"
is exactly than true when "std::is_calss<T>::value" is true. I am not
sure whether this is actually correct but I am also a bit at a loss of
how to implement "is_class". The STL code here is so cryptic for that
traits helper and contains so many defines that I quit looking after
some time. Maybe you guys have an opinion whether we can live for the
moment with my hack or whether we should do something else.
- Hauke
On Wed, Dec 1, 2010 at 2:32 AM, Stefan Holzer<holzers@xxxxxxxxxxxxxxxx>
wrote:
Hi,
I'm trying to port some code (http://www.ros.org/wiki/pcl) from Linux
to
Windows (Win7 x64 with Visual Studio 2010, compiling for 32-bit). This
works
fine except for a compiler error I get in
Eigen/src/StlSupport/details.h
in
line 71:
error C2516: 'T' is not a legal base class
which occurs for the vector:
std::vector<float, Eigen::aligned_allocator<float> > values;
According to the comments in this file this piece of code is specially
written for Visual Studio. Since the code works fine in Linux there
might
be
something wrong with this VS-specific code. I also tested it with
Visual
Studio 2008 and it gives the same error.
I would be happy about any suggestions.
Thanks,
Stefan