Re: [eigen] compiler error C2516 for EIGEN_WORKAROUND_MSVC_STL_SUPPORT in details.h

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


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
>>>
>>>
>>>
>>>
>>
>>
>
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/