-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Ceres 2.0.0 upgrade to C++14 breaks sfm module #2578
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
Comments
Yes, finally someone addressed it. It was driving me mad for months. Is there a workaround until it gets fixed? |
There is no other way than forcing C++14 compilation mode to compile with new Ceres:
Otherwise we should disable Ceres in OpenCV:
|
If I use an older version of ceres, will SFM work? I am hoping the 1.14.0 version doesn't have this issue. @alalek |
@NavneetSajwan I tested yesterday, and everything builds fine with Ceres 1.14.0. The C++14 change was not introduced until 2.0.0. |
Thanks, I confirmed it. No installation errors with ceres 1.4.x . But SFM examples are not built even when |
FYI, if SFM cmake is updated to c++14, keep in mind that it currently fails its intention on Microsoft compilers. This is due to this following hardcoded option. opencv_contrib/modules/sfm/CMakeLists.txt Line 71 in bdc0101
If continuing with the hardcoded approach....Microsoft's |
On macOS, this prevents the ceres-solver formula in Homebrew to be updated to Ceres 2.0.0, since it breaks the opencv formula. Same issue will be with the rgbd module, which recently acquired a dependency on ceres: #2619 |
How to use old version? |
System information (version)
Detailed description
The sfm module does not build with Ceres master (2.0.0) due to Ceres switching to C++14.
When building OpenCV, it throws an error about
integer_sequence
not being a member ofstd
. This is due tointeger_sequence
being added in C++14.I was able to build OpenCV with Ceres 2.0.0 by building it with C++14, but I am not confident this is the proper solution for everyone.
The alternative solution would be to stay on Ceres 1.X.X, which could just be documented somewhere.
Steps to reproduce
Issue submission checklist
answers.opencv.org, Stack Overflow, etc and have not found solution
The text was updated successfully, but these errors were encountered: