gaowenliang / code_utils

my code utils
107 stars 94 forks source link

catkin_make failed #18

Open xu-rui opened 2 years ago

xu-rui commented 2 years ago

Im trying build the code_utils in my catkin workspace and getting the below errors. Not sure how to move forward from here? Thanks for any help. /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:15:21: error: ‘vector’ in namespace ‘std’ does not name a template type 15 | DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ); | ^~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:8:1: note: ‘std::vector’ is defined in header ‘’; did you forget to ‘#include ’? 7 | #include +++ |+#include 8 | /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:15:27: error: expected ‘,’ or ‘...’ before ‘<’ token 15 | DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ); | ^ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:23:39: error: ‘vector’ in namespace ‘std’ does not name a template type 23 | void readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:23:34: note: ‘std::vector’ is defined in header ‘’; did you forget to ‘#include ’? 23 | void readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:23:45: error: expected ‘,’ or ‘...’ before ‘<’ token 23 | void readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^ /home/xr/imu-calibration/src/code_utils/src/cv_utils/dlt/dlt.cpp:5:1: error: no declaration matches ‘cv::DLT::DLT(const std::vector<Eigen::Matrix<double, 3, 1> >&, const std::vector<Eigen::Matrix<double, 3, 1> >&)’ 5 | cv::DLT::DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ) | ^~ In file included from /home/xr/imu-calibration/src/code_utils/src/cv_utils/dlt/dlt.cpp:1: /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:12:7: note: candidates are: ‘cv::DLT::DLT(cv::DLT&&)’ 12 | class DLT | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:12:7: note: ‘cv::DLT::DLT(const cv::DLT&)’ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:15:5: note: ‘cv::DLT::DLT(int)’ 15 | DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ); | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:12:7: note: ‘class cv::DLT’ defined here 12 | class DLT | ^~~ /home/xr/imu-calibration/src/code_utils/src/cv_utils/dlt/dlt.cpp:20:1: error: no declaration matches ‘void cv::DLT::readPointsPlanar(const std::vector<Eigen::Matrix<double, 3, 1> >&, const std::vector<Eigen::Matrix<double, 3, 1> >&)’ 20 | cv::DLT::readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^~ In file included from /home/xr/imu-calibration/src/code_utils/src/cv_utils/dlt/dlt.cpp:1: /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:23:10: note: candidate is: ‘void cv::DLT::readPointsPlanar(int)’ 23 | void readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^~~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/dlt/dlt.h:12:7: note: ‘class cv::DLT’ defined here 12 | class DLT | ^~~ In file included from /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/pnp.h:4, from /home/xr/imu-calibration/src/code_utils/src/cv_utils/pnp/pnp.cpp:1: /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:15:21: error: ‘vector’ in namespace ‘std’ does not name a template type 15 | DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ); | ^~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:8:1: note: ‘std::vector’ is defined in header ‘’; did you forget to ‘#include ’? 7 | #include +++ |+#include 8 | /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:15:27: error: expected ‘,’ or ‘...’ before ‘<’ token 15 | DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ); | ^ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:23:39: error: ‘vector’ in namespace ‘std’ does not name a template type 23 | void readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:23:34: note: ‘std::vector’ is defined in header ‘’; did you forget to ‘#include ’? 23 | void readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:23:45: error: expected ‘,’ or ‘...’ before ‘<’ token 23 | void readPointsPlanar( const std::vector< Eigen::Vector3d >& pts_2, | ^ /home/xr/imu-calibration/src/code_utils/src/cv_utils/pnp/pnp.cpp: In constructor ‘cv::Pnp::Pnp(const std::vector<Eigen::Matrix<double, 3, 1> >&, const std::vector<Eigen::Matrix<double, 3, 1> >&)’: /home/xr/imu-calibration/src/code_utils/src/cv_utils/pnp/pnp.cpp:53:49: error: no matching function for call to ‘cv::DLT::DLT(const std::vector<Eigen::Matrix<double, 3, 1> >&, const std::vector<Eigen::Matrix<double, 3, 1> >&)’ 53 | cv::DLT llpnp( image_point, scene_point ); | ^ In file included from /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/pnp.h:4, from /home/xr/imu-calibration/src/code_utils/src/cv_utils/pnp/pnp.cpp:1: /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:15:5: note: candidate: ‘cv::DLT::DLT(int)’ 15 | DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ); | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:15:5: note: candidate expects 1 argument, 2 provided /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate: ‘cv::DLT::DLT(const cv::DLT&)’ 12 | class DLT | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate expects 1 argument, 2 provided /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate: ‘cv::DLT::DLT(cv::DLT&&)’ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate expects 1 argument, 2 provided /home/xr/imu-calibration/src/code_utils/src/cv_utils/pnp/pnp.cpp: In constructor ‘cv::Pnp::Pnp(const std::vector<Eigen::Matrix<double, 3, 1> >&, const std::vector<Eigen::Matrix<double, 3, 1> >&, Eigen::Quaterniond&, Eigen::Vector3d&)’: /home/xr/imu-calibration/src/code_utils/src/cv_utils/pnp/pnp.cpp:107:49: error: no matching function for call to ‘cv::DLT::DLT(const std::vector<Eigen::Matrix<double, 3, 1> >&, const std::vector<Eigen::Matrix<double, 3, 1> >&)’ 107 | cv::DLT llpnp( image_point, scene_point ); | ^ In file included from /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/pnp.h:4, from /home/xr/imu-calibration/src/code_utils/src/cv_utils/pnp/pnp.cpp:1: /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:15:5: note: candidate: ‘cv::DLT::DLT(int)’ 15 | DLT( const std::vector< Eigen::Vector3d >& pts_2, const std::vector< Eigen::Vector3d >& pts_3 ); | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:15:5: note: candidate expects 1 argument, 2 provided /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate: ‘cv::DLT::DLT(const cv::DLT&)’ 12 | class DLT | ^~~ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate expects 1 argument, 2 provided /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate: ‘cv::DLT::DLT(cv::DLT&&)’ /home/xr/imu-calibration/src/code_utils/include/code_utils/cv_utils/pnp/../dlt/dlt.h:12:7: note: candidate expects 1 argument, 2 provided make[2]: [code_utils/CMakeFiles/pnp.dir/build.make:63:code_utils/CMakeFiles/pnp.dir/src/cv_utils/dlt/dlt.cpp.o] 错误 1 make[2]: 正在等待未完成的任务.... make[2]: [code_utils/CMakeFiles/pnp.dir/build.make:76:code_utils/CMakeFiles/pnp.dir/src/cv_utils/pnp/pnp.cpp.o] 错误 1 make[1]: [CMakeFiles/Makefile2:493:code_utils/CMakeFiles/pnp.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2 Invoking "make -j4 -l4" failed

zpj159 commented 7 months ago

打开dlt.cpp文件 在最顶部添加

include

include <Eigen/Dense>

dlt