Re: [eigen] [Eigen] SSE may cause linker error on VS.net

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


Making them static worked though I don't really get it.

On Wed, Apr 22, 2009 at 4:24 PM, Hauke Heibel
<hauke.heibel@xxxxxxxxxxxxxx> wrote:
> Benoit, the function is explicitly declared with EIGEN_DONT_INLINE and
> as it is a full specialization it is not a template and thus being
> compiled into every object file. It occurs for 'all' vectorized
> functions (currently, ei_plog, ei_pexp, ei_psin, ei_pcos and
> ei_psqrt). The only solution I can think of is the introduction of a
> spcialized struct.
>
> Your proposal of declaring them static is probably not working as well
> because static functions are instantiated per compile-unit. I can give
> it a try but have no hopes.
>
> - Hauke
>
> On Wed, Apr 22, 2009 at 4:19 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>> bah, we forgot another 'inline' keyword somewhere?
>>
>> which symbols exactly does the linker complain about? (yes i'm too
>> lazy to try myself :p )
>>
>> Benoit
>>
>> 2009/4/22 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
>>> Hi,
>>>
>>> the attached example causes a linker error, when SSE is enabled. The
>>> problem is that object code for specializations in MathFunctions.h
>>> is generated in UnitA and UnitB from the attached example.
>>>
>>> Does anybody have any easy solutions to fix this?
>>>
>>> Btw, to reproduce the problem you have to make sure SSE is actually used.
>>>
>>> Regards,
>>> Hauke
>>>
>>
>>
>>
>



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