Hi, i got the compile error below, do you have any advice? (Ubuntu 14.04 64bit, opencv3.2.)
And another question is about '* Not yet implemented indexing of images. '. Does this mean that it can not be used by ORB-SLAM for the moment (as it needs invert index from descriptor to image)?
Regards.
Scanning dependencies of target fbow
[ 12%] Building CXX object src/CMakeFiles/fbow.dir/fbow.cpp.o
In file included from /opt/opencv3.2/include/opencv2/core/mat.hpp:3518:0,
from /opt/opencv3.2/include/opencv2/core.hpp:59,
from /home/jp/Libraries/fbow/src/fbow.h:5,
from /home/jp/Libraries/fbow/src/fbow.cpp:1:
/opt/opencv3.2/include/opencv2/core/mat.inl.hpp: In instantiation of ‘const _Tp cv::Mat::ptr(int) const [with _Tp = __vector(4) float]’:
/home/jp/Libraries/fbow/src/fbow.h:336:13: required from ‘fbow::fBow fbow::Vocabulary::_transform(const cv::Mat&) [with Computer = fbow::Vocabulary::L2_sse3_16w]’
/home/jp/Libraries/fbow/src/fbow.cpp:85:83: required from here
/opt/opencv3.2/include/opencv2/core/mat.inl.hpp:836:1: error: ‘const _Tp cv::Mat::ptr(int) const [with _Tp = vector(4) float]’ conflicts with a previous declaration
}
^
/opt/opencv3.2/include/opencv2/core/mat.inl.hpp:832:12: note: previous declaration ‘const _Tp* cv::Mat::ptr(int) const [with _Tp = vector(8) float]’
const _Tp Mat::ptr(int y) const
^
/opt/opencv3.2/include/opencv2/core/mat.inl.hpp:832:12: note: -fabi-version=6 (or =0) avoids this error with a change in mangling
In file included from /home/jp/Libraries/fbow/src/fbow.cpp:1:0:
/home/jp/Libraries/fbow/src/fbow.h: In instantiation of ‘T fbow::Vocabulary::Block::getFeature(int) [with T = __vector(4) float]’:
/home/jp/Libraries/fbow/src/fbow.h:345:82: required from ‘fbow::fBow fbow::Vocabulary::_transform(const cv::Mat&) [with Computer = fbow::Vocabulary::L2_sse3_16w]’
/home/jp/Libraries/fbow/src/fbow.cpp:85:83: required from here
/home/jp/Libraries/fbow/src/fbow.h:155:125: error: ‘T fbow::Vocabulary::Block::getFeature(int) [with T = __vector(4) float]’ conflicts with a previous declaration
template inline TgetFeature(int i){return (T) (_blockstart+_feature_off_start+i_desc_size_bytes_wp);}
^
/home/jp/Libraries/fbow/src/fbow.h:155:40: note: previous declaration ‘T fbow::Vocabulary::Block::getFeature(int) [with T = __vector(8) float]’
template inline TgetFeature(int i){return (T) (_blockstart+_feature_off_start+i_desc_size_bytes_wp);}
^
/home/jp/Libraries/fbow/src/fbow.h:155:40: note: -fabi-version=6 (or =0) avoids this error with a change in mangling
make[2]: [src/CMakeFiles/fbow.dir/fbow.cpp.o] Error 1
make[1]: [src/CMakeFiles/fbow.dir/all] Error 2
make: *** [all] Error 2
The problem is with the compiler version that is not allowing this type of definitions . Version g++ >5 solves the problem. It is somehow related to -fabi-version=6.
Hi, i got the compile error below, do you have any advice? (Ubuntu 14.04 64bit, opencv3.2.)
And another question is about '* Not yet implemented indexing of images. '. Does this mean that it can not be used by ORB-SLAM for the moment (as it needs invert index from descriptor to image)?
Regards.