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

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

CMake Error: The following variables...set to NOTFOUND_第1张图片

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

打印结构如下:

显示NOTFOUND.

 

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

然后就编译成功了。

 

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

 

接着上次的更新。

 

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

CMake Error: The following variables...set to NOTFOUND_第2张图片

 

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

结果如下:

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

 

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

CMake Error: The following variables...set to NOTFOUND_第3张图片

然后我做了如下打印,

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

CMake Error: The following variables...set to NOTFOUND_第4张图片

输出如下:

然后在cmake,make成功。

 

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

你可能感兴趣的:(liunx)