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

error: compile with VS2015 win32 #69

Closed
yanming-zou opened this issue Feb 15, 2017 · 4 comments
Closed

error: compile with VS2015 win32 #69

yanming-zou opened this issue Feb 15, 2017 · 4 comments

Comments

@yanming-zou
Copy link

Hi

I use cmake 3.7 and vs 2015 (Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24210 for x86) to compile. My Eigen version is Eigen 3.2.8. But I get some errors as following. Any suggestion about this?

Thanks a lot.
Yanming

sophus\test\core\tests.hpp(112): error C2672: 'Sophus::details::metric': no matching overloaded function found
sophus\test\core\tests.hpp(109): note: while compiling class template member function 'bool Sophus::LieGroupTests<Sophus::RxSO3<double,0>>::veeHatTest(void)'
sophus\test\core\tests.hpp(134): note: see reference to function template instantiation 'bool Sophus::LieGroupTests<Sophus::RxSO3<double,0>>::veeHatTest(void)' being compiled
Sophus\test\core\test_rxso3.cpp(70): note: see reference to class template instantiation 'Sophus::LieGroupTests<Sophus::RxSO3<double,0>>' being compiled
Sophus\test\core\test_rxso3.cpp(69): note: while compiling class template member function 'bool Sophus::Tests::testLieProperties(void)'
Sophus\test\core\test_rxso3.cpp(61): note: see reference to function template instantiation 'bool Sophus::Tests::testLieProperties(void)' being compiled
Sophus\test\core\test_rxso3.cpp(233): note: see reference to class template instantiation 'Sophus::Tests' being compiled
sophus\test\core\tests.hpp(112): error C2782: 'unknown-type Sophus::details::metric(const T &,const T &)': template parameter 'T' is ambiguous
Sophus\sophus/test_macros.hpp(28): note: see declaration of 'Sophus::details::metric'
sophus\test\core\tests.hpp(112): note: could be 'Eigen::Matrix<double,4,1,0,4,1>'
sophus\test\core\tests.hpp(112): note: or 'Eigen::internal::workaround_msvc_stl_support'
with
[
T=Eigen::Matrix<double,4,1,0,4,1>
]
sophus\test\core\tests.hpp(112): error C2784: 'unknown-type Sophus::details::metric(const T &,const T &)': could not deduce template argument for 'const T &' from 'Eigen::Matrix<double,4,1,0,4,1>'
Sophus\sophus/test_macros.hpp(28): note: see declaration of 'Sophus::details::metric'
sophus\test\core\tests.hpp(114): error C3536: 'nrm': cannot be used before it is initialized

@strasdat
Copy link
Owner

That is curious since it seems to work just fine with Eigen 3.2.10 and MSVC 19.0.24215.1. See https://ci.appveyor.com/project/strasdat/sophus/branch/master for details.

I'll see whether I find a solution, so it might be difficult to debug it from my end.
If you find a workaround/patch in the meanwhile, please open a pullrequest.

@jlblancoc
Copy link
Contributor

@yanming-zou have you tried telling cmake to generate projects for both 32 & 64bits? If only one builds, that's an interesting hint...

@yanming-zou
Copy link
Author

I have just tried the win64 version. It works well. Can we say there is a bug in MSVC?

@jlblancoc
Copy link
Contributor

Can we say there is a bug in MSVC?

Clearly not :-)

I daily use MSVC14, will clone the repo and try to give it a look when time permits...

Cheers.

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

3 participants