Structure-PLP-SLAM icon indicating copy to clipboard operation
Structure-PLP-SLAM copied to clipboard

cmake unsuccessful

Open GongGQ opened this issue 2 years ago • 6 comments

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?

GongGQ avatar Aug 10 '22 06:08 GongGQ

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.

PeterFWS avatar Aug 10 '22 08:08 PeterFWS

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?

GongGQ avatar Aug 12 '22 01:08 GongGQ

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

PeterFWS avatar Aug 12 '22 05:08 PeterFWS

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。

theyunfeng avatar Apr 06 '23 13:04 theyunfeng

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,

PeterFWS avatar Apr 06 '23 13:04 PeterFWS

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!

theyunfeng avatar Apr 06 '23 13:04 theyunfeng