ubuntu16.04安装g2o时出现 E: 无法定位软件包 libcholmod-dev + 运行 build$ ./curve_fitting时出现E

最近在学习slam ,在安装g2o库的时候总是出现E: 无法定位软件包 libcholmod-dev这样的问题。

查资料查了一下午才知道原来**输入sudo apt-get install libcholmod然后按Tab键,Tab键就是自动补充命令**,当你记不住完整命令的时候,你按下它,他会自动搜索!我在这里出来的是libcholmod3.0.4,然后安装就好!

在运行 build$ ./curve_fitting时出现./curve_fitting: error while loading shared libraries: libg2o_core.so: cannot open shared object file: No such file or directory的错误时“发现问题的原因是在默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通过源码包进行安装时,如果不指定–prefix会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf中添加 /usr/local/lib这个目录。这样虽然安装了源码包,但是使用时仍然找不到相关的.so库,就会报错。也就是说系统不知道安装了源码包。”
网络上的解决方法是在/etc/ld.so.conf里添加绝对路径/usr/local/lib。应该

sudo gedit /etc/ld.so.conf  将/usr/local/lib添加到下一行

之后,执行ldconfig(这一步是必须的,目的是利用ldconfig执行文件将 /etc/ld.so.conf的数据读入高速缓存中)。”

sudo /sbin/ldconfig

就可以了

你可能感兴趣的:(ubuntu16.04安装g2o时出现 E: 无法定位软件包 libcholmod-dev + 运行 build$ ./curve_fitting时出现E)