|
Boost : |
Subject: Re: [boost] [fusion] trouble building boost fusion with Intel compiler on Windows and Linux
From: Blower, Melanie (melanie.blower_at_[hidden])
Date: 2016-11-09 14:28:14
-----Original Message-----
From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Lee Clagett
> This is disabling variadic vector (which hopefully compiles faster) for all versions of the Intel compiler. This might be the easiest way to fix it since no one has has access to that compiler. I also wanted to
>mention:
> - The master branch has numerous updates that should be in Boost
> 1.63. I think the second case is fixed but its difficult with such
> little context.
> - Try `#include <boost/fusion/sequence/intrinsic/value_at.hpp>` before
> any other includes to fusion for the first issue. The preprocessor
> output for clang is showing that the required struct is being
> included very indirectly, so there might be something different on
> that configuration that is dropping it. Also, the master branch
> might be worth testing - it uses the tag-dispatched specialization
> directly so that the `value_at` header never has to be included.
Thanks for the suggestion, we will try this. Incidentally, usually when I am debugging a boost compilation problem on Windows, I generate the preprocessed output with cl.exe and then try to compile that with the Intel compiler. If this compilation is successful then my conclusion is that the boost macro settings are "wrong" for the Intel compiler, and I try to make changes which adjust the setting of the boost macro's until the settings matches the Microsoft compiler. In this case, the Microsoft compiler (vs2015) had a #undef which was missing for us. When I added it in, the Intel compilation passed as well.
Best regards, Melanie Blower
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk