DLoopDetector icon indicating copy to clipboard operation
DLoopDetector copied to clipboard

Will you support the latest DBoW2?

Open sunbingfengPI opened this issue 6 years ago • 4 comments

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 avatar Nov 29 '18 07:11 sunbingfengPI

@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?

junzhang2016 avatar May 01 '19 10:05 junzhang2016

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.

sunbingfengPI avatar May 01 '19 12:05 sunbingfengPI

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) `

junzhang2016 avatar May 02 '19 03:05 junzhang2016

You are welcome! @junzhang2016

sunbingfengPI avatar May 02 '19 04:05 sunbingfengPI