Structure-PLP-SLAM
Structure-PLP-SLAM copied to clipboard
cmake unsuccessful
Hello author, I am trying to reproduce your code and compile it after the dependency installation is complete, the following error will appear:
CMake Error in src/PLPSLAM/CMakeLists.txt: Target "PLPSLAM" INTERFACE_INCLUDE_DIRECTORIES property contains path: "/home/xxx/project/Structure-PLP-SLAM/src/PLPSLAM/" which is prefixed in the source directory.
CMake Error in src/PLPSLAM/CMakeLists.txt: Target "PLPSLAM" INTERFACE_INCLUDE_DIRECTORIES property contains path: "/home/xxx/project/Structure-PLP-SLAM/src/PLPSLAM//usr/local/include/DBoW2" which is prefixed in the source directory.
In addition, do you need to compile PLP-SLAM first under the src file? How should these problems be solved?
Hello,
you don't need to compile anything beforehand under the src file.
I haven't encountered this Cmake error before. Could you please try to re-install the DBoW2 lib with an old version, for example, the version from the end of 2019. I can only guess the latest version of DBoW2 has a compatibility problem.
你
Hi, thanks for the explanation, I tried many ways to make cmake succeed. But make still has many errors, such as;
/home/xxx/project/Structure-PLP-SLAM/src/PLPSLAM/system.cc:82:25: error: 'PLPSLAM::data::bow_vocabulary {aka class DBoW2::TemplatedVocabulary<cv::Mat, DBoW2: :FORB>}' has no member named 'loadFromBinaryFile' bow_vocab_->loadFromBinaryFile(vocab_file_path);
Your code is using binary bag of words, but when compiling it says that it cannot be found loadFromBinaryFile function, how to solve these problems?
Hi,
the compiling error indicates the function loadFromBinaryFile() has been renamed or removed from the DBoW lib you installed. This means the DBoW lib installed on your PC is not the proper one.
Sorry, I do not have a specific solution for that. In this case, could you please try to install the DBoW lib shared from my OneDrive? which is the version of mine link: https://1drv.ms/u/s!Atj7rBR0X5zagZ8EbLK_RJKUaHz1XQ?e=bv93qq
Best regards
Hi,
the compiling error indicates the function loadFromBinaryFile() has been renamed or removed from the DBoW lib you installed. This means the DBoW lib installed on your PC is not the proper one.
Sorry, I do not have a specific solution for that. In this case, could you please try to install the DBoW lib shared from my OneDrive? which is the version of mine link: https://1drv.ms/u/s!Atj7rBR0X5zagZ8EbLK_RJKUaHz1XQ?e=bv93qq
Best regards
Hi Can you also share the g2o please? I encountered the following problems with g2o when compiling: Structure-PLP-SLAM/src/PLPSLAM/optimize/g2o/se3/shot_vertex.h:58:42: error: ‘number_t’ does not name a type void oplusImpl(const number_t *update_) override...... I guess it may be a g2o version issue。
Hi,
you can find my shared version of g2o or DBoW2 in the link given with the segmentation masks: https://1drv.ms/u/s!Atj7rBR0X5zagZwcFs1oIqXeV5r4Cw?e=pbnNES
sorry I am not able to retrieve which exact version it was. The openvslam code base used is a relatively old version from 2019.
Best,
Hi,
you can find my shared version of g2o or DBoW2 in the link given with the segmentation masks: https://1drv.ms/u/s!Atj7rBR0X5zagZwcFs1oIqXeV5r4Cw?e=pbnNES
sorry I am not able to retrieve which exact version it was. The openvslam code base used is a relatively old version from 2019.
Best,
it works, thank you very much!