编译问题

版本boost1.64,出现了

In file included from /usr/local/include/boost/numeric/ublas/vector.hpp:21:0,
                 from /home/gary/catkin_ws/src/VINS-Mono/camera_model/include/camodocal/chessboard/Spline.h:20,
                 from /home/gary/catkin_ws/src/VINS-Mono/camera_model/src/chessboard/Chessboard.cc:7:
/usr/local/include/boost/numeric/ublas/storage.hpp: In member function ‘void boost::numeric::ublas::unbounded_array<T, ALLOC>::serialize(Archive&, unsigned int)’:
/usr/local/include/boost/numeric/ublas/storage.hpp:299:18: error: ‘make_array’ is not a member of ‘boost::serialization’
             ar & serialization::make_array(data_, s);
                  ^
/usr/local/include/boost/numeric/ublas/storage.hpp: In member function ‘void boost::numeric::ublas::bounded_array<T, N, ALLOC>::serialize(Archive&, unsigned int)’:
/usr/local/include/boost/numeric/ublas/storage.hpp:494:18: error: ‘make_array’ is not a member of ‘boost::serialization’
             ar & serialization::make_array(data_, s);
                  ^
In file included from /usr/local/include/boost/numeric/ublas/vector.hpp:21:0,
                 from /home/gary/catkin_ws/src/VINS-Mono/camera_model/include/camodocal/chessboard/Spline.h:20,
                 from /home/gary/catkin_ws/src/VINS-Mono/camera_model/src/chessboard/Chessboard.cc:7:
/usr/local/include/boost/numeric/ublas/storage.hpp: In member function ‘void boost::numeric::ublas::unbounded_array<T, ALLOC>::serialize(Archive&, unsigned int)’:
/usr/local/include/boost/numeric/ublas/storage.hpp:299:18: error: ‘make_array’ is not a member of ‘boost::serialization’
             ar & serialization::make_array(data_, s);
                  ^
/usr/local/include/boost/numeric/ublas/storage.hpp: In member function ‘void boost::numeric::ublas::bounded_array<T, N, ALLOC>::serialize(Archive&, unsigned int)’:
/usr/local/include/boost/numeric/ublas/storage.hpp:494:18: error: ‘make_array’ is not a member of ‘boost::serialization’
             ar & serialization::make_array(data_, s);
                  ^
In file included from /home/gary/catkin_ws/src/VINS-Mono/camera_model/include/camodocal/chessboard/Spline.h:22:0,
                 from /home/gary/catkin_ws/src/VINS-Mono/camera_model/src/chessboard/Chessboard.cc:7:
/usr/local/include/boost/numeric/ublas/matrix.hpp: In member function ‘void boost::numeric::ublas::c_matrix<T, M, N>::serialize(Archive&, unsigned int)’:
/usr/local/include/boost/numeric/ublas/matrix.hpp:5977:18: error: ‘make_array’ is not a member of ‘boost::serialization’
             ar & serialization::make_array(data_, N);
                  ^
In file included from /home/gary/catkin_ws/src/VINS-Mono/camera_model/include/camodocal/chessboard/Spline.h:22:0,
                 from /home/gary/catkin_ws/src/VINS-Mono/camera_model/src/chessboard/Chessboard.cc:7:
/usr/local/include/boost/numeric/ublas/matrix.hpp: In member function ‘void boost::numeric::ublas::c_matrix<T, M, N>::serialize(Archive&, unsigned int)’:
/usr/local/include/boost/numeric/ublas/matrix.hpp:5977:18: error: ‘make_array’ is not a member of ‘boost::serialization’
             ar & serialization::make_array(data_, N);
                  ^
VINS-Mono/camera_model/CMakeFiles/Calibration.dir/build.make:86: recipe for target 'VINS-Mono/camera_model/CMakeFiles/Calibration.dir/src/chessboard/Chessboard.cc.o' failed
make[2]: *** [VINS-Mono/camera_model/CMakeFiles/Calibration.dir/src/chessboard/Chessboard.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....

在出问题的文件Chessboard.hpp里面加上如下头文件#include <boost/serialization/array_wrapper.hpp>即可解决问题。

猜你喜欢

转载自www.cnblogs.com/gary-guo/p/10290182.html