I'm curious, what problems exactly did you face and when?
The problems arose while compiling the minimal example from the get started tutorial. Below I pasted some compiler (Clang-Cl.exe) output. It has all to do with MSVC compiler bugs workarounds.
Is that correct that in this setup (MSVS + Clang) BOOST_CLANG is defined and BOOST_MSVC is NOT defined?
I've added these directives to the code:
#if !defined(__clang__) #error __clang__ not defined. #endif
#if !defined(_MSVC_VER) #error _MSVC_VER not defined. #endif
#if !defined(BOOST_CLANG) #error BOOST_CLANG not defined. #endif
#if !defined(BOOST_MSVC) #error BOOST_MSVC not defined. #endif
The compiler output is as follows:
1>------ Rebuild All started: Project: test, Configuration: Debug x64 ------ 1> In file included from test.cpp:14: 1> In file included from z:\vc\x64\include\boost/geometry.hpp:22: 1> In file included from z:\vc\x64\include\boost/geometry/geometry.hpp:50: 1> In file included from z:\vc\x64\include\boost/geometry/strategies/strategies.hpp:85: 1> In file included from z:\vc\x64\include\boost/geometry/strategies/transform/matrix_transformers.hpp:40: 1> In file included from z:\vc\x64\include\boost/numeric/ublas/vector.hpp:21: 1> In file included from z:\vc\x64\include\boost/numeric/ublas/storage.hpp:26: 1> In file included from z:\vc\x64\include\boost/numeric/ublas/traits.hpp:29: 1> In file included from z:\vc\x64\include\boost/typeof/typeof.hpp:124: 1>z:\vc\x64\include\boost/typeof/msvc/typeof_impl.hpp(150,31): error : template specialization or definition requires a template parameter list corresponding to the nested type 'base_type' (aka 'msvc_extract_type<ID>') 1> struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature 1> ~~~~~~~~~ ^ 1>z:\vc\x64\include\boost/typeof/msvc/typeof_impl.hpp(150,20): error : nested name specifier for a declaration cannot depend on a template parameter 1> struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature 1> ^~~~~~~~~~~ 1>test.cpp(733,2): error : _MSVC_VER not defined. 1> #error _MSVC_VER not defined. 1> ^ 1>test.cpp(741,2): error : BOOST_MSVC not defined. 1> #error BOOST_MSVC not defined. 1> ^ 1> 4 errors generated. ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
So somehow things get mingled it seems.
Looking forward to your analysis. Have a good day,