Closed lbhqw closed 2 months ago
Hi, I tested the master branch on Ubuntu 22.04 and ceres 2.1.0 and didn't experience compilation errors. Could it be that you have multiple ceres installed on your machine?
No,I used Ubuntu 20.04 and ceres 2.1.0 ,some details list: it seems that errors between ceres and g2o
optimizer.cpp:12:
/home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:275:11: error: reference to ‘ceres’ is ambiguous
275 | CHECK(ceres::optimizer::ReadG2oFile(outFilename, &poses, &constraints))
| ^~~~~
In file included from /usr/local/include/g2o/autodiff/fixed_array.h:41,
from /usr/local/include/g2o/core/base_fixed_sized_edge.h:36,
from /usr/local/include/g2o/core/base_binary_edge.h:30,
from /usr/local/include/g2o/types/slam3d/edge_se3.h:30,
from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/graph_construction.hpp:16,
from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/ceres_optimizer.hpp:23,
from /home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:12:
/usr/local/include/g2o/autodiff/memory.h:44:11: note: candidates are: ‘namespace g2o::ceres { }’
44 | namespace ceres {
| ^~~~~
In file included from /usr/local/include/ceres/internal/fixed_array.h:41,
from /usr/local/include/ceres/internal/array_selector.h:38,
from /usr/local/include/ceres/internal/autodiff.h:147,
from /usr/local/include/ceres/autodiff_cost_function.h:130,
from /usr/local/include/ceres/ceres.h:37,
from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/ceres_optimizer.hpp:19,
from /home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:12:
/usr/local/include/ceres/internal/memory.h:43:11: note: ‘namespace ceres { }’
43 | namespace ceres {
| ^~~~~
In file included from /usr/local/include/ceres/internal/fixed_array.h:42,
from /usr/local/include/ceres/internal/array_selector.h:38,
from /usr/local/include/ceres/internal/autodiff.h:147,
from /usr/local/include/ceres/autodiff_cost_function.h:130,
from /usr/local/include/ceres/ceres.h:37,
from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/ceres_optimizer.hpp:19,
from /home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:12:
/home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:275:55: error: ‘poses’ was not declared in this scope
275 | CHECK(ceres::optimizer::ReadG2oFile(outFilename, &poses, &constraints))
| ^~~~~
/home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:275:63: error: ‘constraints’ was not declared in this scope; did you mean ‘Constraint3d’?
275 | CHECK(ceres::optimizer::ReadG2oFile(outFilename, &poses, &constraints))
| ^~~
/home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:278:11: error: reference to ‘ceres’ is ambiguous
278 | CHECK(ceres::optimizer::OutputPoses("poses_original.txt", poses))
| ^~~~~
In file included from /usr/local/include/g2o/autodiff/fixed_array.h:41,
from /usr/local/include/g2o/core/base_fixed_sized_edge.h:36,
from /usr/local/include/g2o/core/base_binary_edge.h:30,
from /usr/local/include/g2o/types/slam3d/edge_se3.h:30,
from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/graph_construction.hpp:16,
from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/ceres_optimizer.hpp:23,
from /home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:12:
/usr/local/include/g2o/autodiff/memory.h:44:11: note: candidates are: ‘namespace g2o::ceres { }’
44 | namespace ceres {
| ^~~~~
In file included from /usr/local/include/ceres/internal/fixed_array.h:41,
from /usr/local/include/ceres/internal/array_selector.h:38,
from /usr/local/include/ceres/internal/autodiff.h:147,
from /usr/local/include/ceres/autodiff_cost_function.h:130,
from /usr/local/include/ceres/ceres.h:37,
from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/ceres_optimizer.hpp:19,
from /home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:12:
/usr/local/include/ceres/internal/memory.h:43:11: note: ‘namespace ceres { }’
43 | namespace ceres {
| ^~~~~
make[2]: [src/graph_optimization/CMakeFiles/graph_construction.dir/build.make:63:src/graph_optimization/CMakeFiles/graph_construction.dir/src/graph_construction.cpp.o] 错误 1
make[1]: [CMakeFiles/Makefile2:347:src/graph_optimization/CMakeFiles/graph_construction.dir/all] 错误 2
make[1]: 正在等待未完成的任务....
make[2]: [src/graph_optimization/CMakeFiles/ceres_optimizer.dir/build.make:63:src/graph_optimization/CMakeFiles/ceres_optimizer.dir/src/ceres_optimizer.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:292:src/graph_optimization/CMakeFiles/ceres_optimizer.dir/all] 错误 2
thank you for your suggestion,but i meet another problem ,sorry to trouble you again!
[ 78%] Built target read_auv_data
In file included from /home/l/bathymetric_slam/src/registration/include/registration/gicp_reg.hpp:25,
from /home/l/bathymetric_slam/src/registration/src/gicp_reg.cpp:12:
/usr/include/pcl-1.10/pcl/features/from_meshes.h: In function ‘void pcl::features::computeApproximateCovariances(const pcl::PointCloud |
Eigen::Vector3d normal (normals.points[i].normal_x, | ^ | io In file included from /home/l/bathymetric_slam/src/registration/include/registration/gicp_reg.hpp:27, from /home/l/bathymetric_slam/src/registration/src/gicp_reg.cpp:12: /home/l/bathymetric_slam/src/submaps_tools/include/submaps_tools/submaps.hpp: In constructor ‘MapObj::MapObj(const DRNoise&, PointCloudT&)’: /home/l/bathymetric_slam/src/submaps_tools/include/submaps_tools/submaps.hpp:80:50: warning: unused parameter ‘map_pcl’ [-Wunused-parameter] 80 | MapObj(const DRNoise& dr_noise, PointCloudT& map_pcl) : SubmapObj(dr_noise) {}; | gicp_.setSourceCovariances(covs_src_ptr); | ^ |
|
---|---|---|---|---|---|---|---|
CovsVecPtr {aka std::shared_ptr<std::vector<Eigen::Matrix<double, 3, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 3> > > >} |
In file included from /home/l/bathymetric_slam/src/registration/include/registration/gicp_reg.hpp:18, from /home/l/bathymetric_slam/src/registration/src/gicp_reg.cpp:12: /usr/include/pcl-1.10/pcl/registration/gicp.h:155:54: note: initializing argument 1 of ‘void pcl::GeneralizedIterativeClosestPoint<PointSource, PointTarget>::setSourceCovariances(const MatricesVectorPtr&) [with PointSource = pcl::PointXYZ; PointTarget = pcl::PointXYZ; pcl::GeneralizedIterativeClosestPoint<PointSource, PointTarget>::MatricesVectorPtr = boost::shared_ptr<std::vector<Eigen::Matrix<double, 3, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 3> > > >]’ 155 | setSourceCovariances (const MatricesVectorPtr& covariances) | gicp_.setTargetCovariances(covs_trg_ptr); | ^ |
|
---|---|---|---|---|
CovsVecPtr {aka std::shared_ptr<std::vector<Eigen::Matrix<double, 3, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 3> > > >} |
In file included from /home/l/bathymetric_slam/src/registration/include/registration/gicp_reg.hpp:18,
from /home/l/bathymetric_slam/src/registration/src/gicp_reg.cpp:12:
/usr/include/pcl-1.10/pcl/registration/gicp.h:176:54: note: initializing argument 1 of ‘void pcl::GeneralizedIterativeClosestPoint<PointSource, PointTarget>::setTargetCovariances(const MatricesVectorPtr&) [with PointSource = pcl::PointXYZ; PointTarget = pcl::PointXYZ; pcl::GeneralizedIterativeClosestPoint<PointSource, PointTarget>::MatricesVectorPtr = boost::shared_ptr<std::vector<Eigen::Matrix<double, 3, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 3> > > >]’
176 | setTargetCovariances (const MatricesVectorPtr& covariances)
| ~~~~~^~~
make[2]: [src/registration/CMakeFiles/gicp_registration.dir/build.make:63:src/registration/CMakeFiles/gicp_registration.dir/src/gicp_reg.cpp.o] 错误 1
make[1]: [CMakeFiles/Makefile2:405:src/registration/CMakeFiles/gicp_registration.dir/all] 错误 2
make: *** [Makefile:130:all] 错误 2
home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:274:5: error: reference to ‘ceres’ is ambiguous 274 | ceres::optimizer::VectorOfConstraints constraints; | ^~~~~ In file included from /usr/local/include/g2o/autodiff/fixed_array.h:41, from /usr/local/include/g2o/core/base_fixed_sized_edge.h:36, from /usr/local/include/g2o/core/base_binary_edge.h:30, from /usr/local/include/g2o/types/slam3d/edge_se3.h:30, from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/graph_construction.hpp:16, from /home/l/bathymetric_slam/src/graph_optimization/include/graph_optimization/ceres_optimizer.hpp:23, from /home/l/bathymetric_slam/src/graph_optimization/src/ceres_optimizer.cpp:12: