Open wangyd-0312 opened 1 year ago
我之前在Ubuntu18上成功安装过这个工具箱,但是在20.04上编译出现很多错误,各位大佬请问在20上安装有什么需要修改的地方吗,比如opencv、pcl版本要求等等,我报了很多有关pcl的错误。
/usr/include/pcl-1.10/pcl/point_representation.h:308:7: required from here /usr/include/pcl-1.10/pcl/point_representation.h:252:48: error: the value of ‘NrDims’ is not usable in a constant expression /usr/include/pcl-1.10/pcl/point_representation.h:251:19: note: ‘NrDims’ was not initialized with a constant expression 251 | const int NrDims = pcl::traits::datatype<PointDefault, Key>::size; | ^~~~~~ /usr/include/pcl-1.10/pcl/point_representation.h:252:48: note: in template argument for type ‘int’ 252 | Helper<Key, FieldT, NrDims>::copyPoint (p1_, p2_, f_idx_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.10/pcl/point_representation.h: In instantiation of ‘void pcl::DefaultFeatureRepresentation<PointDefault>::NdCopyPointFunctor::operator()() [with Key = pcl::fields::f4; PointDefault = pcl::PPFSignature]’: /usr/include/pcl-1.10/pcl/for_each_type.h:87:51: recursively required from ‘static void pcl::for_each_type_impl<false>::execute(F) [with Iterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 1>; LastIterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 5>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’ /usr/include/pcl-1.10/pcl/for_each_type.h:87:51: required from ‘static void pcl::for_each_type_impl<false>::execute(F) [with Iterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 0>; LastIterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 5>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’ /usr/include/pcl-1.10/pcl/for_each_type.h:98:92: required from ‘void pcl::for_each_type(F) [with Sequence = boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’ /usr/include/pcl-1.10/pcl/point_representation.h:310:40: required from ‘void pcl::DefaultFeatureRepresentation<PointDefault>::copyToFloatArray(const PointDefault&, float*) const [with PointDefault = pcl::PPFSignature]’ /usr/include/pcl-1.10/pcl/point_representation.h:308:7: required from here /usr/include/pcl-1.10/pcl/point_representation.h:252:48: error: the value of ‘NrDims’ is not usable in a constant expression /usr/include/pcl-1.10/pcl/point_representation.h:251:19: note: ‘NrDims’ was not initialized with a constant expression 251 | const int NrDims = pcl::traits::datatype<PointDefault, Key>::size; | ^~~~~~ /usr/include/pcl-1.10/pcl/point_representation.h:252:48: note: in template argument for type ‘int’ 252 | Helper<Key, FieldT, NrDims>::copyPoint (p1_, p2_, f_idx_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /usr/include/pcl-1.10/pcl/point_representation.h: In instantiation of ‘void pcl::DefaultFeatureRepresentation<PointDefault>::NdCopyPointFunctor::operator()() [with Key = pcl::fields::alpha_m; PointDefault = pcl::PPFSignature]’: /usr/include/pcl-1.10/pcl/for_each_type.h:87:51: recursively required from ‘static void pcl::for_each_type_impl<false>::execute(F) [with Iterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 1>; LastIterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 5>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’ /usr/include/pcl-1.10/pcl/for_each_type.h:87:51: required from ‘static void pcl::for_each_type_impl<false>::execute(F) [with Iterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 0>; LastIterator = boost::mpl::v_iter<boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>, 5>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’ /usr/include/pcl-1.10/pcl/for_each_type.h:98:92: required from ‘void pcl::for_each_type(F) [with Sequence = boost::mpl::vector<pcl::fields::f1, pcl::fields::f2, pcl::fields::f3, pcl::fields::f4, pcl::fields::alpha_m>; F = pcl::DefaultFeatureRepresentation<pcl::PPFSignature>::NdCopyPointFunctor]’ /usr/include/pcl-1.10/pcl/point_representation.h:310:40: required from ‘void pcl::DefaultFeatureRepresentation<PointDefault>::copyToFloatArray(const PointDefault&, float*) const [with PointDefault = pcl::PPFSignature]’ /usr/include/pcl-1.10/pcl/point_representation.h:308:7: required from here /usr/include/pcl-1.10/pcl/point_representation.h:252:48: error: the value of ‘NrDims’ is not usable in a constant expression /usr/include/pcl-1.10/pcl/point_representation.h:251:19: note: ‘NrDims’ was not initialized with a constant expression 251 | const int NrDims = pcl::traits::datatype<PointDefault, Key>::size; | ^~~~~~ /usr/include/pcl-1.10/pcl/point_representation.h:252:48: note: in template argument for type ‘int’ 252 | Helper<Key, FieldT, NrDims>::copyPoint (p1_, p2_, f_idx_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ make[2]: *** [calibration_camera_lidar/ls_calibration/calibration_camera_lidar/CMakeFiles/calibrationtoolkit.dir/build.make:76:calibration_camera_lidar/ls_calibration/calibration_camera_lidar/CMakeFiles/calibrationtoolkit.dir/CalibrationToolkit/calibrationtoolkit.cpp.o] 错误 1 make[1]: *** [CMakeFiles/Makefile2:5278:calibration_camera_lidar/ls_calibration/calibration_camera_lidar/CMakeFiles/calibrationtoolkit.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2 Invoking "make -j20 -l20" failed
我也是,你解决了么?
老哥,看到麻烦回复下,我20.04遇到了同样的问题
我看你用了pcl1.10,估计要用c++ 17编译吧,改下cmakelist
我之前在Ubuntu18上成功安装过这个工具箱,但是在20.04上编译出现很多错误,各位大佬请问在20上安装有什么需要修改的地方吗,比如opencv、pcl版本要求等等,我报了很多有关pcl的错误。