arrenglover / openfabmap

Open-source C++ code for the FAB-MAP visual place recognition algorithm
Other
218 stars 68 forks source link

Compilation Error #16

Closed mpkuse closed 7 years ago

mpkuse commented 7 years ago

/home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp: In member function ‘bool of2::ChowLiuTree::reduceEdgesToMinSpan(std::__cxx11::list&)’: /home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp:272:5: error: ‘map’ is not a member of ‘std’ std::map<int, int> groups; std::map<int, int>::iterator groupIt; ^ /home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp:272:14: error: expected primary-expression before ‘int’ std::map<int, int> groups; std::map<int, int>::iterator groupIt; ^ /home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp:272:32: error: ‘map’ is not a member of ‘std’ std::map<int, int> groups; std::map<int, int>::iterator groupIt; ^ /home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp:272:41: error: expected primary-expression before ‘int’ std::map<int, int> groups; std::map<int, int>::iterator groupIt; ^ /home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp:273:53: error: ‘groups’ was not declared in this scope for(int i = 0; i < imgDescriptors[0].cols; i++) groups[i] = i; ^ /home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp:278:12: error: ‘groups’ was not declared in this scope if(groups[edge->word1] != groups[edge->word2]) { ^ /home/mpkuse/Downloads/openfabmap/src/chowliutree.cpp:281:17: error: ‘groupIt’ was not declared in this scope for(groupIt = groups.begin(); groupIt != groups.end(); groupIt++) ^ CMakeFiles/openFABMAP.dir/build.make:158: recipe for target 'CMakeFiles/openFABMAP.dir/src/chowliutree.cpp.o' failed make[2]: [CMakeFiles/openFABMAP.dir/src/chowliutree.cpp.o] Error 1 CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/openFABMAP.dir/all' failed make[1]: [CMakeFiles/openFABMAP.dir/all] Error 2

mpkuse commented 7 years ago

add #include <map> in include/chowliutree.hpp. Try compiling again fixes it.