问题1:
缺少对应的2个cpp文件和头文件。直接粘贴进去就可以。
另外在add_library中加入对应的.cpp文件。
问题2:
at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by
"line_based_plane_segment" with any of the following names:line_based_plane_segmentConfig.cmake
line_based_plane_segment-config.cmakeAdd the installation prefix of "line_based_plane_segment" to CMAKE_PREFIX_PATH or set "line_based_plane_segment_DIR" to a directory containing one of the above files. If "line_based_plane_segment" provides a separate development package or SDK, be sure it has been installed.
解决方法:
在cmakelists的find_package里的 line_based_plane_segment注释掉。
这样cmake的时候就不会报错,且成功了。
问题3:
报错缺少lline_based_plane_segment,即是缺少对应的lib文件。
直接在target_link_libraries里面直接指向该.so文件就OK
最后make成功啦~
但可能正是由于这次注释,导致最后跑出的结果就是空的,只有一个坐标系而已。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
ps1:
问题1:fatal error: opencv2/nonfree/features2d.hpp: 没有那个文件或目录
网上搜出来的结果是:
sudo apt-get update
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update sudo apt-get install libopencv-nonfree-dev
但在我的系统里并不好使。运行结果没有更新。执行最后一步指令的时候,又会提示安装相互依赖,查了很多资料,也是无解。
最后就放弃这条路了。
其实这个问题报错是因为,我的系统目前用的是opencv3.2,二而代码中要求用opencv2中的nonfree这个文件夹中的一些文件,这个文件夹在opencv3中是没有的。
所以搜索一波之后,重新下载安装了opencv以及对应的opencv_contrib(额外的安装包)
具体操作可以见原网址:
https://blog.csdn.net/Real_Myth/article/details/82690715
可是还是没用。
各种招都使了,病急乱投医。最后https://blog.csdn.net/weixin_41896508/article/details/80795239里的方法,让我make不出错,也就是安装了里面的各种包吧。真让人头大。
opencv/opencv-3.2.0/build/opencv_lapack.h:2:45: fatal error: LAPACKE_H_PATH-NOTFOUND/lapacke.h: 没有那个文件或目录
解决方法:
$ sudo apt-get install liblapacke-dev checkinstall
也算是成功地安装好了含有opencv_contrib的opencv3.2.0了吧。简直感动。
``````````````````````````````````````````````````````````````````````````````````````````````````````````
此时再回过头来看,咱们前面的opencv2/nonfree/文件缺失的问题,问题还是存在。所以应该是opencv2的问题,重新安装一个吧。安装 opencv-2.4.13.5
安装2.4.13.5的时候,主要结合了2个博文:
https://blog.csdn.net/HP605962422/article/details/82897326
https://blog.csdn.net/llfjcmx/article/details/81238766
主要流程按照第一个链接走,但是由于之前已经有了opencv3,所以会报很多错误,按照第二个博文,在usr/local里面新建文件夹,并且cmake的路径加在此处时,make可以到100%,但还是会存在错误。
但都是与eigen相关的错误,粗暴地重装了eigen3.3.5
还是没用。(继续微笑)到这已经折腾了3天了,心塞。
试了安装其他版本的opencv2,报错也是一样的,以为是opencv3的存在会影响2的安装,于是卸载了3,再安装2,错误依旧。
当你使用的是cmake工具时,在CMakeLists.txt中加入路径即可使用opencv3.3,如下图:
当你想返回使用opencv2时,将find_package(OpenCV 3.3 REQUIRED )换成find_package(OpenCV REQUIRED )即可,并将该代码上面一行和下面俩行删除即可。