Re: [eigen] compiler error C2516 for EIGEN_WORKAROUND_MSVC_STL_SUPPORT in details.h |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: Radu Bogdan Rusu <rusu@xxxxxxxxxxxxxxxx>
- Subject: Re: [eigen] compiler error C2516 for EIGEN_WORKAROUND_MSVC_STL_SUPPORT in details.h
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Thu, 2 Dec 2010 16:58:24 -0500
- Cc: eigen@xxxxxxxxxxxxxxxxxxx
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=3laYIkSACurx7bv/wbqFtuY4wGqSYItD0P52+CfSh4k=; b=dfpeNYGTS+bQWjpBsB1qIkV7TxhmEgkNSWZkC0K6HhJ7Azz6gQXxEZce/EjG1FuJdp DzL/x3yh2qM4Ykifu5anSF5Vdy1UbXt7Q9THDu/VKoGwcwkvFhgzzhcRkKfUN713x8Fo inmDv7SUdrPE/r2Hs5l+6JjNKkaNKV10JsmTA=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=jYFh9XMBT9vAjI8yCkiXg1+rrVCMuCjdIzAb2s6BU0np0eV26ED3LPJ8lKPBEjLSOl vdTuSu4usY+ot1D3pjAVVoobb7+axJ70UBEF528LJPog23ssve3GBheikJ9ULuZkx/Wl pvMiMBAM4aOMw8ay8nSamj4IQNGpVZrj7madM=
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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>