Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation error in "newest" VIsual Studio #263

Open
SeanCurtis-TRI opened this issue Mar 9, 2018 · 2 comments
Open

Compilation error in "newest" VIsual Studio #263

SeanCurtis-TRI opened this issue Mar 9, 2018 · 2 comments
Assignees

Comments

@SeanCurtis-TRI
Copy link
Contributor

I'm running a "new" version of VIsual Studio and am encountering a new compiler error. Specifically:

Visual Studio Professional 2017
Version 15.6.1
VisualStudio.15.Release/15.6.1+27428.2002
Visual C++ 2017 - 00370-20008-01614-AA872

In contrast, this previous version works fine:

Visual C++ 2017   
Visual Studio Community 2017
Version 15.4.3
Visual C++ 2017 - 00369-60000-00001-AA959

Error message included below (sorry for the difficulty in reading; long list and wide errors are not easily consumed in github code blocks):


2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(749): error C2668: 'fcl::detail::conservativeAdvancement': ambiguous call to overloaded function (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(642): note: could be 'bool fcl::detail::conservativeAdvancement<Shape1,NarrowPhaseSolver>(const Shape &,const fcl::MotionBase<double> *,const fcl::BVHModel<BV> &,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::CollisionRequest<double> &,fcl::CollisionResult<double> &,double &)'
2>        with
2>        [
2>            Shape1=fcl::Box<double>,
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>,
2>            Shape=fcl::Box<double>,
2>            BV=fcl::OBBRSS<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(627): note: or       'bool fcl::detail::conservativeAdvancement<Shape1,NarrowPhaseSolver>(const Shape &,const fcl::MotionBase<double> *,const fcl::BVHModel<BV> &,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::CollisionRequest<double> &,fcl::CollisionResult<double> &,double &)'
2>        with
2>        [
2>            Shape1=fcl::Box<double>,
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>,
2>            Shape=fcl::Box<double>,
2>            BV=fcl::RSS<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(459): note: or       'bool fcl::detail::conservativeAdvancement<Shape,BV,NarrowPhaseSolver>(const Shape &,const fcl::MotionBase<double> *,const fcl::BVHModel<BV> &,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::CollisionRequest<double> &,fcl::CollisionResult<double> &,double &)'
2>        with
2>        [
2>            Shape=fcl::Box<double>,
2>            BV=fcl::AABB<double>,
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(444): note: or       'bool fcl::detail::conservativeAdvancement<fcl::BVHModel<BV>,NarrowPhaseSolver>(const fcl::BVHModel<fcl::OBBRSS<double>> &,const fcl::MotionBase<double> *,const Shape &,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::CollisionRequest<double> &,fcl::CollisionResult<double> &,double &)'
2>        with
2>        [
2>            BV=fcl::AABB<double>,
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>,
2>            Shape=fcl::BVHModel<fcl::AABB<double>>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(429): note: or       'bool fcl::detail::conservativeAdvancement<fcl::BVHModel<BV>,NarrowPhaseSolver>(const fcl::BVHModel<fcl::RSS<double>> &,const fcl::MotionBase<double> *,const Shape &,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::CollisionRequest<double> &,fcl::CollisionResult<double> &,double &)'
2>        with
2>        [
2>            BV=fcl::AABB<double>,
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>,
2>            Shape=fcl::BVHModel<fcl::AABB<double>>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(222): note: or       'bool fcl::detail::conservativeAdvancement<Shape,fcl::BVHModel<BV>,NarrowPhaseSolver>(const Shape1 &,const fcl::MotionBase<double> *,const Shape2 &,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::CollisionRequest<double> &,fcl::CollisionResult<double> &,double &)'
2>        with
2>        [
2>            Shape=fcl::Box<double>,
2>            BV=fcl::AABB<double>,
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>,
2>            Shape1=fcl::Box<double>,
2>            Shape2=fcl::BVHModel<fcl::AABB<double>>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(749): note: while trying to match the argument list '(const fcl::Box<double>, const fcl::MotionBase<double> *, const fcl::BVHModel<BV>, const fcl::MotionBase<double> *, const fcl::detail::GJKSolver_libccd<double> *, fcl::CollisionRequest<double>, fcl::CollisionResult<double>, S)'
2>        with
2>        [
2>            BV=fcl::AABB<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(936): note: see reference to function template instantiation 'double fcl::detail::ShapeBVHConservativeAdvancement<fcl::Box<double>,fcl::AABB<double>,NarrowPhaseSolver>(const fcl::CollisionGeometry<double> *,const fcl::MotionBase<double> *,const fcl::CollisionGeometry<double> *,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::ContinuousCollisionRequest<double> &,fcl::ContinuousCollisionResult<double> &)' being compiled
2>        with
2>        [
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\detail\conservative_advancement_func_matrix-inl.h(781): note: while compiling class template member function 'fcl::detail::ConservativeAdvancementFunctionMatrix<NarrowPhaseSolver>::ConservativeAdvancementFunctionMatrix(void)'
2>        with
2>        [
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\continuous_collision-inl.h(102): note: see reference to function template instantiation 'fcl::detail::ConservativeAdvancementFunctionMatrix<NarrowPhaseSolver>::ConservativeAdvancementFunctionMatrix(void)' being compiled
2>        with
2>        [
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\continuous_collision-inl.h(320): note: see reference to function template instantiation 'fcl::detail::ConservativeAdvancementFunctionMatrix<NarrowPhaseSolver> &fcl::getConservativeAdvancementFunctionLookTable<NarrowPhaseSolver>(void)' being compiled
2>        with
2>        [
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\continuous_collision-inl.h(372): note: see reference to function template instantiation 'double fcl::detail::continuousCollideConservativeAdvancement<fcl::detail::GJKSolver_libccd<double>>(const fcl::CollisionGeometry<double> *,const fcl::MotionBase<double> *,const fcl::CollisionGeometry<double> *,const fcl::MotionBase<double> *,const NarrowPhaseSolver *,const fcl::ContinuousCollisionRequest<double> &,fcl::ContinuousCollisionResult<double> &)' being compiled
2>        with
2>        [
2>            NarrowPhaseSolver=fcl::detail::GJKSolver_libccd<double>
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\include\fcl\narrowphase\continuous_collision-inl.h(407): note: see reference to function template instantiation 'S fcl::continuousCollideConservativeAdvancement<double>(const fcl::CollisionGeometry<S> *,const fcl::MotionBase<S> *,const fcl::CollisionGeometry<S> *,const fcl::MotionBase<S> *,const fcl::ContinuousCollisionRequest<S> &,fcl::ContinuousCollisionResult<S> &)' being compiled
2>        with
2>        [
2>            S=double
2>        ] (compiling source file C:\projects\fcl\src\narrowphase\continuous_collision.cpp)
2>c:\projects\fcl\src\narrowphase\continuous_collision.cpp(51): note: see reference to function template instantiation 'double fcl::continuousCollide<double>(const fcl::CollisionGeometry<double> *,const fcl::MotionBase<double> *,const fcl::CollisionGeometry<double> *,const fcl::MotionBase<double> *,const fcl::ContinuousCollisionRequest<double> &,fcl::ContinuousCollisionResult<double> &)' being compiled
@SeanCurtis-TRI SeanCurtis-TRI self-assigned this Mar 9, 2018
@dilevin
Copy link
Contributor

dilevin commented Apr 6, 2018

Hi,

I was wondering if there was any progress in fixing this. I've spent some time poking around but I'm not an FCL expert and didn't make any progress. Any advice as to how to work around this at least ?

Thanks!

@SeanCurtis-TRI
Copy link
Contributor Author

I haven't had the chance to chase this down. I'm primarily on linux and only came across it while testing on Windows. My solution was to use the VS that worked. Hardly a sophisticated solution, I know. I documented so that it would be in the air, but it'll probably require someone who feels more pain than I do to solve it.

@dilevin dilevin mentioned this issue Apr 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants