DLoopDetector
DLoopDetector copied to clipboard
Will you support the latest DBoW2?
I found that the latest DBoW2 has removed DVision and Boost dependencies, but this DLoopDetector repo still depends on them.
Moreover, it compiled failed with the latest DBoW2.
The main reason about it is that FBrief::TDescriptor
in the latest DBoW2 has been changed to std::bitset<L>
from boost::dynamic_bitset<>
.
Appreciate it if you could update it to the latest DBoW2.
Thanks!
@sunbingfengPI
It seems this issue solved the problem.
https://github.com/dorian3d/DLoopDetector/issues/15#issuecomment-468916321
However, I couldn't solve it with this issue.
May I ask have you solved the problem?
I used the old DBOW2 library(commit id: 67edcbc16903b314e9f19fd0bce6e93eef5e6635
) instead.
You could set the GIT_TAG
to use the history commit to hack over it.
ExternalProject_Add(${name}
PREFIX ${DEPENDENCY_DIR}
GIT_REPOSITORY http://github.com/dorian3d/${name}
GIT_TAG ${tag}
INSTALL_DIR ${DEPENDENCY_INSTALL_DIR}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
DEPENDS ${dependency})
Wish it may help.
Thanks a lot @sunbingfengPI . I solved the problem with your suggestions.
The modifications I made are as follows. I am using Ubuntu 14.04.
` macro(GetDependency name other_dependency tag) find_package(${name} QUIET PATHS ${DEPENDENCY_INSTALL_DIR}) if(${${name}_FOUND}) message("${name} library found, using it from the system") include_directories(${${name}_INCLUDE_DIRS}) add_custom_target(${name}) else(${${name}FOUND}) message("${name} library not found in the system, it will be downloaded on build") option(DOWNLOAD${name}dependency "Download ${name} dependency" ON) if(${DOWNLOAD${name}dependency}) ExternalProject_Add(${name} PREFIX ${DEPENDENCY_DIR} GIT_REPOSITORY http://github.com/dorian3d/${name} # GIT_TAG master GIT_TAG ${tag} INSTALL_DIR ${DEPENDENCY_INSTALL_DIR} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> DEPENDS ${other_dependency}) else() message(SEND_ERROR "Please, activate DOWNLOAD${name}dependency option or download manually") endif(${DOWNLOAD${name}_dependency}) endif(${${name}_FOUND}) endmacro(GetDependency)
GetDependency(DLib "" master) GetDependency(DBoW2 DLib 67edcbc16903b314e9f19fd0bce6e93eef5e6635) `
You are welcome! @junzhang2016