基于虚拟机上的Ubuntu18.04,Kdevelop编程实践:
相比于与书本上的程序案例,有以下几点需要注意
1.
将原来的“sophus/so3.hpp”改为如上形式(适用于下载最新的Sophus库)
2.
将书本程序中所有SO3d和SE3d都改为SO3和SE3
3.最重要的是CMakeLists.txt文件的修改,如下所示
尤其是第16行代码,需要连接到libSophus.so库文件,否则会报错:未经定义的引用,即程序不能识别SE3、SO3等标识。
4.经过以上修改以后,点击Build(构建)可以通过,但是点击执行仍旧报错,如下:cannot open shared object file。在终端编译会提示:No such file or Directory,即找不到libSophus.so文件。解决方法如下:
在etc/ld.so.conf文件中添加路径include /usr/local/lib。即libSophus.so所在路径。
注:ld.so.conf是制度文件,可以sudo vim etc/ld.so.conf打开文件(有编辑权限)添加并保存。
最后一定要在终端执行sudo ldconfig语句,将新的ld.so.conf文件加载到ld.so.cache中去。
至此~可以运行成功,并正常使用Sophus库了。