colmap / glomap

GLOMAP - Global Structured-from-Motion Revisited
BSD 3-Clause "New" or "Revised" License
1.3k stars 76 forks source link

Compile error: cost_function.h, there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] #66

Closed Ling-Bao closed 1 month ago

Ling-Bao commented 1 month ago

[1/6] Building CXX object glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o FAILED: glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_GRAPH_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DCERES_EXPORT_INTERNAL_SYMBOLS -DGFLAGS_IS_A_DLL=0 -DPOSELIB_DEBUG=0 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -I/home/bl/workspace/tmp/glomap/glomap/.. -I/home/bl/workspace/tmp/glomap/build/_deps/colmap-src/src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-build/generated_headers -isystem /usr/include/eigen3 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/local/cuda/targets/x86_64-linux/include -isystem /usr/include/suitesparse -O3 -DNDEBUG -std=gnu++17 -fPIC -fpermissive -Wno-permissive -Wall -Werror -Wno-sign-compare -Wno-unused-variable -fopenmp -MD -MT glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o -MF glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o.d -o glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o -c /home/bl/workspace/tmp/glomap/glomap/controllers/track_establishment.cc /home/bl/workspace/tmp/glomap/glomap/controllers/track_establishment.cc: In member function ‘size_t glomap::TrackEngine::FindTracksForProblem(const std::unordered_map<long unsigned int, glomap::Track>&, std::unordered_map<long unsigned int, glomap::Track>&)’: /home/bl/workspace/tmp/glomap/glomap/controllers/track_establishment.cc:187:11: error: ‘track_temp.glomap::Track::track_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 187 | Track track_temp; | ^~~~~~~~~~ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-permissive’ may have been intended to silence earlier diagnostics cc1plus: all warnings being treated as errors [2/6] Building CXX object glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o FAILED: glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_GRAPH_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DCERES_EXPORT_INTERNAL_SYMBOLS -DGFLAGS_IS_A_DLL=0 -DPOSELIB_DEBUG=0 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -I/home/bl/workspace/tmp/glomap/glomap/.. -I/home/bl/workspace/tmp/glomap/build/_deps/colmap-src/src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-build/generated_headers -isystem /usr/include/eigen3 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/local/cuda/targets/x86_64-linux/include -isystem /usr/include/suitesparse -O3 -DNDEBUG -std=gnu++17 -fPIC -fpermissive -Wno-permissive -Wall -Werror -Wno-sign-compare -Wno-unused-variable -fopenmp -MD -MT glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o -MF glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o.d -o glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o -c /home/bl/workspace/tmp/glomap/glomap/estimators/view_graph_calibration.cc In file included from /home/bl/workspace/tmp/glomap/glomap/estimators/view_graph_calibration.cc:3: /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In member function ‘bool glomap::FetzerFocalLengthCost::operator()(const T*, const T*, T*) const’: /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:134:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 134 | const Eigen::Vector<T, 4> d_01_ = d_01.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:135:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 135 | const Eigen::Vector<T, 4> d_12_ = d_12.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:140:23: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 140 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:140:34: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 140 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:141:23: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 141 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:141:34: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 141 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:145:33: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 145 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:145:44: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 145 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:146:33: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 146 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:146:44: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 146 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In member function ‘bool glomap::FetzerFocalLengthSameCameraCost::operator()(const T*, T*) const’: /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:191:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 191 | const Eigen::Vector<T, 4> d_01_ = d_01.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:192:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 192 | const Eigen::Vector<T, 4> d_12_ = d_12.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:23: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:34: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:23: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:34: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:33: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:44: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:33: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:44: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In instantiation of ‘bool glomap::FetzerFocalLengthSameCameraCost::operator()(const T*, T*) const [with T = double]’: /usr/local/include/ceres/internal/variadic_evaluate.h:57:17: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = glomap::FetzerFocalLengthSameCameraCost; T = double; int ...Indices = {0}; std::false_type = std::integral_constant<bool, false>]’ /usr/local/include/ceres/internal/variadic_evaluate.h:79:30: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, const void*) [with ParameterDims = ceres::internal::ParameterDims<false, 1>; Functor = glomap::FetzerFocalLengthSameCameraCost; T = double]’ /usr/local/include/ceres/internal/variadic_evaluate.h:108:45: required from ‘bool ceres::internal::VariadicEvaluate(const Functor&, const T* const*, T*) [with ParameterDims = ceres::internal::ParameterDims<false, 1>; Functor = glomap::FetzerFocalLengthSameCameraCost; T = double]’ /usr/local/include/ceres/autodiff_cost_function.h:207:55: required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = glomap::FetzerFocalLengthSameCameraCost; int kNumResiduals = 2; int ...Ns = {1}]’ /usr/local/include/ceres/autodiff_cost_function.h:200:8: required from here /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:28: error: ‘d_01_’ was not declared in this scope; did you mean ‘d_01’? 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ~~~~~^~~ | d_01 /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:39: error: ‘d_01_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:28: error: ‘d_12_’ was not declared in this scope; did you mean ‘d_12’? 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ~~~~~^~~ | d_12 /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:39: error: ‘d_12_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:38: error: ‘d_01_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:49: error: ‘d_01_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:38: error: ‘d_12_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:49: error: ‘d_12_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In instantiation of ‘bool glomap::FetzerFocalLengthCost::operator()(const T*, const T*, T*) const [with T = double]’: /usr/local/include/ceres/internal/variadic_evaluate.h:57:17: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = glomap::FetzerFocalLengthCost; T = double; int ...Indices = {0, 1}; std::false_type = std::integral_constant<bool, false>]’ /usr/local/include/ceres/internal/variadic_evaluate.h:79:30: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, const void*) [with ParameterDims = ceres::internal::ParameterDims<false, 1, 1>; Functor = glomap::FetzerFocalLengthCost; T = double]’ /usr/local/include/ceres/internal/variadic_evaluate.h:108:45: required from ‘bool ceres::internal::VariadicEvaluate(const Functor&, const T* const*, T*) [with ParameterDims = ceres::internal::ParameterDims<false, 1, 1>; Functor = glomap::FetzerFocalLengthCost; T = double]’ /usr/local/include/ceres/autodiff_cost_function.h:207:55: required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = glomap::FetzerFocalLengthCost; int kNumResiduals = 2; int ...Ns = {1, 1}]’ /usr/local/include/ceres/autodiff_cost_function.h:200:8: required from here /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:140:28: error: ‘d_01_’ was not declared in this scope; did you mean ‘d_01’? 140 | T di = (fj * fj * d_01_(0) + d_01_(1));

Ling-Bao commented 1 month ago

[1/6] Building CXX object glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o FAILED: glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_GRAPH_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DCERES_EXPORT_INTERNAL_SYMBOLS -DGFLAGS_IS_A_DLL=0 -DPOSELIB_DEBUG=0 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -I/home/bl/workspace/tmp/glomap/glomap/.. -I/home/bl/workspace/tmp/glomap/build/_deps/colmap-src/src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-build/generated_headers -isystem /usr/include/eigen3 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/local/cuda/targets/x86_64-linux/include -isystem /usr/include/suitesparse -O3 -DNDEBUG -std=gnu++17 -fPIC -fpermissive -Wno-permissive -Wall -Werror -Wno-sign-compare -Wno-unused-variable -fopenmp -MD -MT glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o -MF glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o.d -o glomap/CMakeFiles/glomap.dir/controllers/track_establishment.cc.o -c /home/bl/workspace/tmp/glomap/glomap/controllers/track_establishment.cc /home/bl/workspace/tmp/glomap/glomap/controllers/track_establishment.cc: In member function ‘size_t glomap::TrackEngine::FindTracksForProblem(const std::unordered_map<long unsigned int, glomap::Track>&, std::unordered_map<long unsigned int, glomap::Track>&)’: /home/bl/workspace/tmp/glomap/glomap/controllers/track_establishment.cc:187:11: error: ‘track_temp.glomap::Track::track_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 187 | Track track_temp; | ^~~~~~~~~~ At global scope: cc1plus: note: unrecognized command-line option ‘-Wno-permissive’ may have been intended to silence earlier diagnostics cc1plus: all warnings being treated as errors [2/6] Building CXX object glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o FAILED: glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_GRAPH_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DCERES_EXPORT_INTERNAL_SYMBOLS -DGFLAGS_IS_A_DLL=0 -DPOSELIB_DEBUG=0 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -I/home/bl/workspace/tmp/glomap/glomap/.. -I/home/bl/workspace/tmp/glomap/build/_deps/colmap-src/src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-src -I/home/bl/workspace/tmp/glomap/build/_deps/poselib-build/generated_headers -isystem /usr/include/eigen3 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/local/cuda/targets/x86_64-linux/include -isystem /usr/include/suitesparse -O3 -DNDEBUG -std=gnu++17 -fPIC -fpermissive -Wno-permissive -Wall -Werror -Wno-sign-compare -Wno-unused-variable -fopenmp -MD -MT glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o -MF glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o.d -o glomap/CMakeFiles/glomap.dir/estimators/view_graph_calibration.cc.o -c /home/bl/workspace/tmp/glomap/glomap/estimators/view_graph_calibration.cc In file included from /home/bl/workspace/tmp/glomap/glomap/estimators/view_graph_calibration.cc:3: /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In member function ‘bool glomap::FetzerFocalLengthCost::operator()(const T*, const T*, T*) const’: /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:134:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 134 | const Eigen::Vector<T, 4> d_01_ = d_01.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:135:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 135 | const Eigen::Vector<T, 4> d_12_ = d_12.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:140:23: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 140 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:140:34: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 140 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:141:23: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 141 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:141:34: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 141 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:145:33: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 145 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:145:44: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 145 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:146:33: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 146 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:146:44: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 146 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In member function ‘bool glomap::FetzerFocalLengthSameCameraCost::operator()(const T*, T*) const’: /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:191:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 191 | const Eigen::Vector<T, 4> d_01_ = d_01.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:192:18: error: ‘Vector’ in namespace ‘Eigen’ does not name a template type; did you mean ‘Vector6d’? 192 | const Eigen::Vector<T, 4> d_12_ = d_12.cast<T>(); | ^~~~~~ | Vector6d /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:23: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:34: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:23: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:34: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:33: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:44: error: there are no arguments to ‘d_01_’ that depend on a template parameter, so a declaration of ‘d_01_’ must be available [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:33: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:44: error: there are no arguments to ‘d_12_’ that depend on a template parameter, so a declaration of ‘d_12_’ must be available [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ^~~~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In instantiation of ‘bool glomap::FetzerFocalLengthSameCameraCost::operator()(const T*, T*) const [with T = double]’: /usr/local/include/ceres/internal/variadic_evaluate.h:57:17: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = glomap::FetzerFocalLengthSameCameraCost; T = double; int ...Indices = {0}; std::false_type = std::integral_constant<bool, false>]’ /usr/local/include/ceres/internal/variadic_evaluate.h:79:30: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, const void*) [with ParameterDims = ceres::internal::ParameterDims<false, 1>; Functor = glomap::FetzerFocalLengthSameCameraCost; T = double]’ /usr/local/include/ceres/internal/variadic_evaluate.h:108:45: required from ‘bool ceres::internal::VariadicEvaluate(const Functor&, const T* const*, T*) [with ParameterDims = ceres::internal::ParameterDims<false, 1>; Functor = glomap::FetzerFocalLengthSameCameraCost; T = double]’ /usr/local/include/ceres/autodiff_cost_function.h:207:55: required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = glomap::FetzerFocalLengthSameCameraCost; int kNumResiduals = 2; int ...Ns = {1}]’ /usr/local/include/ceres/autodiff_cost_function.h:200:8: required from here /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:28: error: ‘d_01_’ was not declared in this scope; did you mean ‘d_01’? 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ~~~~~^~~ | d_01 /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:197:39: error: ‘d_01_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 197 | T di = (fj * fj * d_01_(0) + d_01_(1)); | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:28: error: ‘d_12_’ was not declared in this scope; did you mean ‘d_12’? 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ~~~~~^~~ | d_12 /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:198:39: error: ‘d_12_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 198 | T dj = (fi * fi * d_12_(0) + d_12_(2)); | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:38: error: ‘d_01_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:202:49: error: ‘d_01_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 202 | const T K0_01 = -(fj * fj * d_01_(2) + d_01_(3)) / di; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:38: error: ‘d_12_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:203:49: error: ‘d_12_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-Werror=permissive] 203 | const T K1_12 = -(fi * fi * d_12_(1) + d_12_(3)) / dj; | ~~~~~^~~ /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h: In instantiation of ‘bool glomap::FetzerFocalLengthCost::operator()(const T*, const T*, T*) const [with T = double]’: /usr/local/include/ceres/internal/variadic_evaluate.h:57:17: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = glomap::FetzerFocalLengthCost; T = double; int ...Indices = {0, 1}; std::false_type = std::integral_constant<bool, false>]’ /usr/local/include/ceres/internal/variadic_evaluate.h:79:30: required from ‘bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T* const*, T*, const void*) [with ParameterDims = ceres::internal::ParameterDims<false, 1, 1>; Functor = glomap::FetzerFocalLengthCost; T = double]’ /usr/local/include/ceres/internal/variadic_evaluate.h:108:45: required from ‘bool ceres::internal::VariadicEvaluate(const Functor&, const T* const*, T*) [with ParameterDims = ceres::internal::ParameterDims<false, 1, 1>; Functor = glomap::FetzerFocalLengthCost; T = double]’ /usr/local/include/ceres/autodiff_cost_function.h:207:55: required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = glomap::FetzerFocalLengthCost; int kNumResiduals = 2; int ...Ns = {1, 1}]’ /usr/local/include/ceres/autodiff_cost_function.h:200:8: required from here /home/bl/workspace/tmp/glomap/glomap/../glomap/estimators/cost_function.h:140:28: error: ‘d_01_’ was not declared in this scope; did you mean ‘d_01’? 140 | T di = (fj * fj * d_01_(0) + d_01_(1));

Solve method: Must using eigen 3.4.