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

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


done

gael

On Thu, Dec 2, 2010 at 10:58 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> Todo: add ei_sqrt and friends into EIGEN2_SUPPORT
>
> 2010/12/2 Radu Bogdan Rusu <rusu@xxxxxxxxxxxxxxxx>:
>> Thanks guys! We'll wait for beta3 and change the ei_{sqrt,cos,sin} then.
>>
>> Cheers,
>> Radu.
>>
>>
>> On 12/02/2010 11:54 AM, Benoit Jacob wrote:
>>>
>>> 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/