Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Will you support the latest DBoW2? #16

Open
sunbingfengPI opened this issue Nov 29, 2018 · 4 comments
Open

Will you support the latest DBoW2? #16

sunbingfengPI opened this issue Nov 29, 2018 · 4 comments

Comments

@sunbingfengPI
Copy link

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!

@junzhang2016
Copy link

@sunbingfengPI

It seems this issue solved the problem.

#15 (comment)

However, I couldn't solve it with this issue.

May I ask have you solved the problem?

@sunbingfengPI
Copy link
Author

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.

@junzhang2016
Copy link

junzhang2016 commented May 2, 2019

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

@sunbingfengPI
Copy link
Author

You are welcome! @junzhang2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants