视觉SLAM十四讲 报错 No rule to make target ‘/usr/local/lib/libDBoW3.a‘, needed by ‘gen_vocab‘.

视觉SLAM十四讲 报错 No rule to make target '/usr/local/lib/libDBoW3.a', needed by 'gen_vocab'.

1. 问题

在编译高博的视觉SLAM十四讲ch11的feature_training.cpp时,编译报错:

make[2]: *** No rule to make target '/usr/local/lib/libDBoW3.a', needed by 'gen_vocab'.  Stop.           
make[2]: *** Waiting for unfinished jobs....                                                             
make[2]: *** No rule to make target '/usr/local/lib/libDBoW3.a', needed by 'loop_closure'.  Stop.        
make[2]: *** Waiting for unfinished jobs....                                                             
make[2]: *** No rule to make target '/usr/local/lib/libDBoW3.a', needed by 'feature_training'.  Stop.    
make[2]: *** Waiting for unfinished jobs....                                                             
[ 33%] Building CXX object CMakeFiles/gen_vocab.dir/gen_vocab_large.cpp.o                                
[ 33%] Building CXX object CMakeFiles/loop_closure.dir/loop_closure.cpp.o                                
[ 50%] Building CXX object CMakeFiles/feature_training.dir/feature_training.cpp.o                        
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/feature_training.dir/all' failed                 
make[1]: *** [CMakeFiles/feature_training.dir/all] Error 2                                               
make[1]: *** Waiting for unfinished jobs.... 

2. 原因

编译程序DBow3的链接问题

3. 解决方案

首先先安装好DBow3,可以在https://github.com/rmsalinas/DBow3下载:

git clone https://github.com/rmsalinas/DBow3.git
cd DBow3
mkdir build
cd build
cmake ..
make -j8
sudo make install

make install之后,/usr/local/lib其实就已经生成了DBow3的链接文件,但是是动态链接文件.so

libDBoW3.so 

由于高博给出的demo里使用的是3rdparty中的链接文件,离线链接文件使用.a静态链接文件libDBoW3.a会更好,所以只要把ch11中的CMakeLists.txt静态链接改为动态链接即可:

# set( DBoW3_LIBS "/usr/local/lib/libDBoW3.a" )
set( DBoW3_LIBS "/usr/local/lib/libDBoW3.so" )
  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值