Build error with Visual Studio 2015 Update 3 #753

Open
iamyaoting opened this Issue Jul 22, 2016 · 7 comments

Projects

None yet

4 participants

@iamyaoting
iamyaoting commented Jul 22, 2016 edited

Hello,I install the Visual Studio Update3, but I built it(Dart 6.0) with following error:

2>D:\Projects\Cpp\3rdsource\dart\dart/common/AspectWithVersion.hpp(80): error C2974: 'dart::common::detail::AspectWithState': invalid template argument for 'CompositeT', type expected (compiling source file D:\Projects\Cpp\3rdsource\dart\dart\collision\CollisionGroup.cpp)
2>  D:\Projects\Cpp\3rdsource\dart\dart/common/detail/AspectWithVersion.hpp(48): note: see declaration of 'dart::common::detail::AspectWithState' (compiling source file D:\Projects\Cpp\3rdsource\dart\dart\collision\CollisionGroup.cpp)
2>  D:\Projects\Cpp\3rdsource\dart\dart/dynamics/EndEffector.hpp(57): note: see reference to class template instantiation 'dart::common::AspectWithStateAndVersionedProperties<dart::dynamics::Support,dart::dynamics::detail::SupportStateData,dart::dynamics::detail::SupportPropertiesData,dart::dynamics::EndEffector,dart::dynamics::detail::SupportUpdate,dart::dynamics::detail::SupportUpdate>' being compiled (compiling source file D:\Projects\Cpp\3rdsource\dart\dart\collision\CollisionGroup.cpp)

What's the problem? Can you help me?
Thank you

@jslee02
Member
jslee02 commented Jul 22, 2016 edited

The support for Visual Studio 2015 building DART 6.0 has been suspended because of the incomplete constexpr support of VS2015 (#599). However, it seems VS2015 Update 3 has resolved the issue, and there are other build issues as you reported. I'll look into it when having a chance.

@iamyaoting

Ok, As you say, in update 3, I did not see the constexpr error.
But the template errors came out.
Thank you~

@mottosso
mottosso commented Dec 4, 2016

I can confirm that the same error occurs with Visual Studio 2017 RC1.

C:\Users\marcus\dart\dart\common\AspectWithVersion.hpp(80): error C2974: 'dart::common::detail::AspectWithState': invalid template argument for 'CompositeT', type expected (compiling source file C:\Users\marcus\dart\dart\simulation\Recording.cpp) 

Along with these.

C:\Users\marcus\dart\dart\dynamics\detail\EntityNode.hpp(57): error C2228: left of '.mName' must have class/struct/union (compiling source file C:\Users\marcus\dart\dart\dynamics\SimpleFrame.cpp) 
C:\Users\marcus\dart\dart\dynamics\EntityNode.hpp(65): error C3668: 'dart::dynamics::EntityNode<dart::common::RequiresAspect<dart::common::EmbeddedPropertiesAspect<DerivedT,PropertiesDataT>>>::setName': method with override specifier 'override' did not override any base class methods 
C:\Users\marcus\dart\dart\dynamics\EntityNode.hpp(68): error C3668: 'dart::dynamics::EntityNode<dart::common::RequiresAspect<dart::common::EmbeddedPropertiesAspect<DerivedT,PropertiesDataT>>>::getName': method with override specifier 'override' did not override any base class methods 
@jslee02
Member
jslee02 commented Dec 4, 2016

Hm, I'm not sure whether these are bugs of VS or our code has syntactic errors.

@marijnfs

Any progress on this issue? Since there are no prebuilt libraries, it seems very constrictive to require a such an old VS for building

@jslee02
Member
jslee02 commented Jan 19, 2017

Sorry, no progress yet. I'm still getting the same errors with Visual Studio 2017 RC1 as @mottosso .

@marijnfs

For now I compiled the old release (<3) which works. It's annoying though, it seems it's just this one weird template inference problem. There is probably an easy fix, but the strange way templates are used here are a mystery to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment