NerfingMVS icon indicating copy to clipboard operation
NerfingMVS copied to clipboard

colmap make

Open DanielLiking opened this issue 2 years ago • 4 comments

Why would this problem happen? I used your colmap version(without git clone or checkout): cmake & make. Then it's wring during the process of making Screenshot from 2022-09-15 13-43-36

[ 50%] Building CXX object src/CMakeFiles/colmap.dir/mvs/meshing.cc.o [ 50%] Building CXX object src/CMakeFiles/colmap.dir/optim/bundle_adjustment.cc.o [ 50%] Building CXX object src/CMakeFiles/colmap.dir/ui/undistortion_widget.cc.o /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc: In function ‘bool colmap::RefineAbsolutePose(const colmap::AbsolutePoseRefinementOptions&, const std::vector&, const std::vector<Eigen::Matrix<double, 2, 1>, std::allocator<Eigen::Matrix<double, 2, 1> > >&, const std::vector<Eigen::Matrix<double, 3, 1> >&, Eigen::Vector4d*, Eigen::Vector3d*, colmap::Camera*)’: /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:242:20: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 242 | new ceres::QuaternionParameterization; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:243:13: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 243 | problem.SetParameterization(qvec->data(), quaternion_parameterization); | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:276:16: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 276 | ceres::SubsetParameterization* camera_params_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:276:40: error: ‘camera_params_parameterization’ was not declared in this scope 276 | ceres::SubsetParameterization* camera_params_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:277:17: error: expected type-specifier 277 | new ceres::SubsetParameterization( | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:279:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 279 | problem.SetParameterization(camera->ParamsData(), | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc: In function ‘bool colmap::RefineRelativePose(const ceres::Solver::Options&, const std::vector<Eigen::Matrix<double, 2, 1>, std::allocator<Eigen::Matrix<double, 2, 1> > >&, const std::vector<Eigen::Matrix<double, 2, 1>, std::allocator<Eigen::Matrix<double, 2, 1> > >&, Eigen::Vector4d*, Eigen::Vector3d*)’: /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:333:18: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 333 | new ceres::QuaternionParameterization; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:334:11: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 334 | problem.SetParameterization(qvec->data(), quaternion_parameterization); | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:336:10: error: ‘HomogeneousVectorParameterization’ is not a member of ‘ceres’ 336 | ceres::HomogeneousVectorParameterization* homogeneous_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:336:45: error: ‘homogeneous_parameterization’ was not declared in this scope; did you mean ‘quaternion_parameterization’? 336 | ceres::HomogeneousVectorParameterization* homogeneous_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | quaternion_parameterization /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:337:11: error: expected type-specifier 337 | new ceres::HomogeneousVectorParameterization(3); | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:338:11: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 338 | problem.SetParameterization(tvec->data(), homogeneous_parameterization); | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::BundleAdjuster::AddImageToProblem(colmap::image_t, colmap::Reconstruction*, ceres::LossFunction*)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:420:22: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 420 | new ceres::QuaternionParameterization; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:421:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 421 | problem_->SetParameterization(qvec_data, quaternion_parameterization); | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:425:16: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 425 | ceres::SubsetParameterization* tvec_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:425:40: error: ‘tvec_parameterization’ was not declared in this scope; did you mean ‘quaternion_parameterization’? 425 | ceres::SubsetParameterization* tvec_parameterization = | ^~~~~~~~~~~~~~~~~~~~~ | quaternion_parameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:426:17: error: expected type-specifier 426 | new ceres::SubsetParameterization(3, constant_tvec_idxs); | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:427:19: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 427 | problem_->SetParameterization(tvec_data, tvec_parameterization); | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:423:33: warning: unused variable ‘constant_tvec_idxs’ [-Wunused-variable] 423 | const std::vector& constant_tvec_idxs = | ^~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::BundleAdjuster::ParameterizeCameras(colmap::Reconstruction*)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:514:16: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 514 | ceres::SubsetParameterization* camera_params_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:514:40: error: ‘camera_params_parameterization’ was not declared in this scope 514 | ceres::SubsetParameterization* camera_params_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:515:17: error: expected type-specifier 515 | new ceres::SubsetParameterization( | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:517:19: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 517 | problem_->SetParameterization(camera.ParamsData(), | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::RigBundleAdjuster::AddImageToProblem(colmap::image_t, colmap::Reconstruction*, std::vectorcolmap::CameraRig, ceres::LossFunction)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1061:14: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 1061 | ceres::SubsetParameterization* tvec_parameterization = | ^~~~~~~~~~~~~~~~~~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1061:38: error: ‘tvec_parameterization’ was not declared in this scope 1061 | ceres::SubsetParameterization* tvec_parameterization = | ^~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1062:15: error: expected type-specifier 1062 | new ceres::SubsetParameterization(3, constant_tvec_idxs); | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1063:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 1063 | problem_->SetParameterization(tvec_data, tvec_parameterization); | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1059:31: warning: unused variable ‘constant_tvec_idxs’ [-Wunused-variable] 1059 | const std::vector& constant_tvec_idxs = | ^~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::RigBundleAdjuster::ParameterizeCameraRigs(colmap::Reconstruction*)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1147:20: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 1147 | new ceres::QuaternionParameterization; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1148:15: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 1148 | problem_->SetParameterization(qvec_data, quaternion_parameterization); | ^~~~~~~~~~~~~~~~~~~ | SetParameterLowerBound make[2]: *** [src/CMakeFiles/colmap.dir/build.make:661: src/CMakeFiles/colmap.dir/estimators/pose.cc.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [src/CMakeFiles/colmap.dir/build.make:882: src/CMakeFiles/colmap.dir/optim/bundle_adjustment.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:858: src/CMakeFiles/colmap.dir/all] Error 2 make: *** [Makefile:149: all] Error 2

I hope to receive your reply! THX

DanielLiking avatar Sep 15 '22 05:09 DanielLiking

加个微信,我也在弄这个,讨论一下:Weafree

xiaoyudanaa avatar Sep 22 '22 12:09 xiaoyudanaa

@weiyithu

DanielLiking avatar Nov 16 '22 05:11 DanielLiking

Sorry, I forget to responce. It seems that your ceres version is not right. You can try to install ceres 2.0.0 from googlesource.

weiyithu avatar Nov 16 '22 09:11 weiyithu

okay I figured it out!THX

DanielLiking avatar Nov 16 '22 10:11 DanielLiking