CMake Error: The following variables...set to NOTFOUND

今天在编译开源OpenVslam时,在最后阶段出现如下问题。说是DBOW2的库招不到。查看了dbow2都是正常安装的,但是就是出问题。

然后我就找到了对应的cmakelist.txt文件,将LIBS地址打印了出来,如下:

打印结构如下:

显示NOTFOUND.

 

猜测可能是DBOW2_LIBS没有获取到地址,因此就将DBOW2的lib地址直接赋值给了BOW_LIBRAY

然后就编译成功了。

 

为什么DBOW2_LIBS没有获取地址,因为刚接触这一块,也不太清楚。

 

接着上次的更新。

 

昨天将DBOW2_LIBS的地址直接赋值后,cmake是通过了,但是在make时还是提示找不到对应的函数。

 

所以感觉还是路径出了问题,在这里改了,cmakelist.txt别的地方还是找不到这个路径。后面就在DBOW2找路径的函数后面将路径打印出来

结果如下:

所以基本确定不是这里cmakelist.txt的问题。

 

后来仔细看了find_package的介绍,find_package找路径时是会去/usr/local/lib/cmake里面去找的,因此我在我的这个路径下找到了DBOW2文件。里面有一个DBOW2Config.cmake文件,

然后我做了如下打印,

竟然还是找不到。在我的/usr/local/lib/路径下确实没有DBOW2这个文件,只有一个libdbow2.so的文件,然后做了如下改动。

输出如下:

然后在cmake,make成功。

 

以前没弄过cmake,这次解决这个问题,也算是找到了调试cmake的感觉吧。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值