g2o icon indicating copy to clipboard operation
g2o copied to clipboard

How to use float instead of double?

Open stevalkr opened this issue 3 years ago • 1 comments

I found an option G2O_SINGLE_PRECISION_MATH in config.h, but after defined it I got an error

/usr/bin/ld: /home/ros_ws/src/track_lidar_back_end/lib/libtrack_lidar_back_end.so: undefined reference to `g2o::MarginalCovarianceCholesky::computeCovariance(float**, std::vector<int, std::allocator<int> > const&)'
/usr/bin/ld: /home/ros_ws/src/track_lidar_back_end/lib/libtrack_lidar_back_end.so: undefined reference to `g2o::MarginalCovarianceCholesky::setCholeskyFactor(int, int*, int*, float*, int*)'
/usr/bin/ld: /home/ros_ws/src/track_lidar_back_end/lib/libtrack_lidar_back_end.so: undefined reference to `g2o::MarginalCovarianceCholesky::computeCovariance(g2o::SparseBlockMatrix<Eigen::Matrix<float, -1, -1, 0, -1, -1> >&, std::vector<int, std::allocator<int> > const&, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > const&)'

I found this function in /usr/local/include/g2o/core/marginal_covariance_cholesky.h, but it is declared in number_t which is defined as float.

stevalkr avatar May 21 '21 13:05 stevalkr

Is this build time or run time?

sjulier-overleaf avatar Jun 26 '21 11:06 sjulier-overleaf

Sorry I forgot to reply... it's build time. Closing as I don't use g2o now, sry

stevalkr avatar Sep 08 '23 09:09 stevalkr