wh200720041 / iscloam

Intensity Scan Context based full SLAM implementation for autonomous driving. ICRA 2020
Other
559 stars 131 forks source link

编译文件报错 #30

Open wangzika opened 6 months ago

wangzika commented 6 months ago

"(base) xdh@Pc:~/SLAM/iscloam_ws$ catkin_make",当我编译的时候有以下错误产生这是为什么

`Base path: /home/xdh/SLAM/iscloam_ws Source space: /home/xdh/SLAM/iscloam_ws/src Build space: /home/xdh/SLAM/iscloam_ws/build Devel space: /home/xdh/SLAM/iscloam_ws/devel Install space: /home/xdh/SLAM/iscloam_ws/install

Running command: "make cmake_check_build_system" in "/home/xdh/SLAM/iscloam_ws/build"

Running command: "make -j8 -l8" in "/home/xdh/SLAM/iscloam_ws/build"

[ 0%] Built target std_msgs_generate_messages_lisp [ 0%] Built target std_msgs_generate_messages_cpp [ 0%] Built target std_msgs_generate_messages_py Scanning dependencies of target iscloam_odom_estimation_node [ 0%] Built target std_msgs_generate_messages_nodejs [ 0%] Built target std_msgs_generate_messages_eus [ 13%] Built target iscloam_laser_mapping_node [ 27%] Built target iscloam_laser_processing_node [ 37%] Building CXX object iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/src/odomEstimationClass.cpp.o [ 37%] Building CXX object iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/src/lidarOptimization.cpp.o [ 37%] Building CXX object iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/src/odomEstimationNode.cpp.o [ 37%] Built target _iscloam_generate_messages_check_deps_LoopInfo [ 44%] Built target iscloam_generate_messages_py [ 48%] Built target iscloam_generate_messages_cpp [ 55%] Built target iscloam_generate_messages_eus [ 58%] Built target iscloam_generate_messages_nodejs [ 62%] Built target iscloam_generate_messages_lisp Scanning dependencies of target iscloam_isc_optimization_node [ 62%] Built target iscloam_generate_messages [ 75%] Built target iscloam_isc_generation_node [ 79%] Building CXX object iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/src/lidar.cpp.o [ 82%] Building CXX object iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/src/iscOptimizationNode.cpp.o [ 86%] Building CXX object iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/src/iscOptimizationClass.cpp.o [ 89%] Building CXX object iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/src/lidarOptimization.cpp.o **In file included from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/lidarOptimization.cpp:5: /home/xdh/SLAM/iscloam_ws/src/iscloam/include/lidarOptimization.h:39:69: error: expected class-name before ‘{’ token 39 class PoseSE3Parameterization : public ceres::LocalParameterization { ^ In file included from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/lidarOptimization.cpp:5: /home/xdh/SLAM/iscloam_ws/src/iscloam/include/lidarOptimization.h:39:69: error: expected class-name before ‘{’ token 39 class PoseSE3Parameterization : public ceres::LocalParameterization { ^ make[2]: [iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/build.make:76:iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/src/lidarOptimization.cpp.o] 错误 1 make[2]: 正在等待未完成的任务.... make[2]: [iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/build.make:89:iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/src/lidarOptimization.cpp.o] 错误 1 make[2]: 正在等待未完成的任务.... In file included from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/odomEstimationClass.h:34, from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/odomEstimationClass.cpp:5: /home/xdh/SLAM/iscloam_ws/src/iscloam/include/lidarOptimization.h:39:69: error: expected class-name before ‘{’ token 39 class PoseSE3Parameterization : public ceres::LocalParameterization { ^ /home/xdh/SLAM/iscloam_ws/src/iscloam/src/odomEstimationClass.cpp: In member function ‘void OdomEstimationClass::updatePointsToMap(const Ptr&, const Ptr&)’: /home/xdh/SLAM/iscloam_ws/src/iscloam/src/odomEstimationClass.cpp:57:83: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double [7], int, PoseSE3Parameterization*)’ 57 problem.AddParameterBlock(parameters, 7, new PoseSE3Parameterization()); ^ In file included from /usr/local/include/ceres/ceres.h:64, from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/odomEstimationClass.h:25, from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/odomEstimationClass.cpp:5: /usr/local/include/ceres/problem.h:259:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int)’ 259 void AddParameterBlock(double* values, int size); ^~~~~ /usr/local/include/ceres/problem.h:259:8: note: candidate expects 2 arguments, 3 provided /usr/local/include/ceres/problem.h:271:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double, int, ceres::Manifold)’ 271 void AddParameterBlock(double values, int size, Manifold manifold); ^~~~~ /usr/local/include/ceres/problem.h:271:62: note: no known conversion for argument 3 from ‘PoseSE3Parameterization’ to ‘ceres::Manifold’ 271 void AddParameterBlock(double values, int size, Manifold manifold); ~~^~~~ In file included from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/odomEstimationClass.h:34, from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/odomEstimationNode.cpp:27: /home/xdh/SLAM/iscloam_ws/src/iscloam/include/lidarOptimization.h:39:69: error: expected class-name before ‘{’ token 39 class PoseSE3Parameterization : public ceres::LocalParameterization { ^ In file included from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/iscOptimizationClass.h:45, from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp:5: /home/xdh/SLAM/iscloam_ws/src/iscloam/include/lidarOptimization.h:39:69: error: expected class-name before ‘{’ token 39 class PoseSE3Parameterization : public ceres::LocalParameterization { ^ make[2]: *** [iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/build.make:63:iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/src/odomEstimationNode.cpp.o] 错误 1 In file included from /opt/ros/noetic/include/ros/ros.h:40, from /opt/ros/noetic/include/pcl_ros/point_cloud.h:4, from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/iscOptimizationClass.h:19, from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp:5: /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp: In member function ‘bool ISCOptimizationClass::addPoseToGraph(const Ptr&, const Ptr&, std::vector&, Eigen::Isometry3d&)’: /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp:82:30: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘std::vector<boost::shared_ptr<pcl::PointCloud > >::size_type’ {aka ‘long unsigned int’} [-Wformat=] 82 ROS_WARN("global optimization finished%d,%d with tranform %f,%f,%f, [%f,%f,%f,%f]",pointcloud_edge_arr.size()-1, matched_frame_id[i],loop_temp.translation().x(),loop_temp.translation().y(),loop_temp.translation().z(),loop_temp.rotation().toQuaternion().w(),loop_temp.rotation().toQuaternion().x(),loop_temp.rotation().toQuaternion().y(),loop_temp.rotation().toQuaternion().z()); ^~~~~~~~~~~~~~~~~ ~~~~~~~~
std::vector<boost::shared_ptr<pcl::PointCloud > >::size_type {aka long unsigned int}
/opt/ros/noetic/include/ros/console.h:351:165: note: in definition of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’ 351 ::ros::console::print(filter, rosconsole_define_locationloc.logger_, rosconsole_define_locationloc.level_, FILE, LINE, ROSCONSOLE_FUNCTION, VA_ARGS) ^~~ /opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’ 390 ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \ ^~~~~~~~ /opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’ 575 #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__) ^~~~ /opt/ros/noetic/include/rosconsole/macros_generated.h:162:23: note: in expansion of macro ‘ROS_LOG’ 162 #define ROS_WARN(...) ROS_LOG(::ros::console::levels::Warn, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__) ^~~ /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp:82:21: note: in expansion of macro ‘ROS_WARN’ 82 ROS_WARN("global optimization finished%d,%d with tranform %f,%f,%f, [%f,%f,%f,%f]",pointcloud_edge_arr.size()-1, matched_frame_id[i],loop_temp.translation().x(),loop_temp.translation().y(),loop_temp.translation().z(),loop_temp.rotation().toQuaternion().w(),loop_temp.rotation().toQuaternion().x(),loop_temp.rotation().toQuaternion().y(),loop_temp.rotation().toQuaternion().z()); ^~~~ /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp:82:60: note: format string is defined here 82 ROS_WARN("global optimization finished%d,%d with tranform %f,%f,%f, [%f,%f,%f,%f]",pointcloud_edge_arr.size()-1, matched_frame_id[i],loop_temp.translation().x(),loop_temp.translation().y(),loop_temp.translation().z(),loop_temp.rotation().toQuaternion().w(),loop_temp.rotation().toQuaternion().x(),loop_temp.rotation().toQuaternion().y(),loop_temp.rotation().toQuaternion().z()); ~^
int
%ld

/home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp: In member function ‘double ISCOptimizationClass::estimateOdom(const Ptr&, const Ptr&, const Ptr&, const Ptr&, Eigen::Isometry3d&)’: /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp:251:79: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double [7], int, PoseSE3Parameterization)’ 251 | problem.AddParameterBlock(parameters, 7, new PoseSE3Parameterization()); | ^ In file included from /usr/local/include/ceres/ceres.h:64, from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/lidarOptimization.h:7, from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/iscOptimizationClass.h:45, from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationClass.cpp:5: /usr/local/include/ceres/problem.h:259:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double, int)’ 259 | void AddParameterBlock(double values, int size); | ^~~~~ /usr/local/include/ceres/problem.h:259:8: note: candidate expects 2 arguments, 3 provided /usr/local/include/ceres/problem.h:271:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double, int, ceres::Manifold)’ 271 | void AddParameterBlock(double values, int size, Manifold manifold); | ^~~~~ /usr/local/include/ceres/problem.h:271:62: note: no known conversion for argument 3 from ‘PoseSE3Parameterization’ to ‘ceres::Manifold’ 271 | void AddParameterBlock(double values, int size, Manifold* manifold); | ~~^~~~ In file included from /home/xdh/SLAM/iscloam_ws/src/iscloam/include/iscOptimizationClass.h:45, from /home/xdh/SLAM/iscloam_ws/src/iscloam/src/iscOptimizationNode.cpp:28: /home/xdh/SLAM/iscloam_ws/src/iscloam/include/lidarOptimization.h:39:69: error: expected class-name before ‘{’ token 39 | class PoseSE3Parameterization : public ceres::LocalParameterization { | ^ make[2]: [iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/build.make:102:iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/src/odomEstimationClass.cpp.o] 错误 1 make[1]: [CMakeFiles/Makefile2:573:iscloam/CMakeFiles/iscloam_odom_estimation_node.dir/all] 错误 2 make[1]: 正在等待未完成的任务.... make[2]: [iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/build.make:63:iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/src/iscOptimizationNode.cpp.o] 错误 1 make[2]: [iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/build.make:76:iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/src/iscOptimizationClass.cpp.o] 错误 1 make[1]: [CMakeFiles/Makefile2:515:iscloam/CMakeFiles/iscloam_isc_optimization_node.dir/all] 错误 2 make: * [Makefile:141:all] 错误 2 Invoking "make -j8 -l8" failed`