前言
因为项目需要用到图形化窗口来显示点数据,本来直接用OpenGL的,但是实现了基本的点可视化后,又发现,缩放,浏览什么的都得要自己再写代码,总而言之就是太底层了!
于是,换了OSG(OpenSceneGraph )去实现相应的需求,毕竟它在OpenGL的基础上进一步封装了一下,很多模块可以拿来就用,相对比较简单。
网上关于Ubuntu下载OSG的帖子很多(而且很多都查重率99.99%,别人写过了 你再抄一遍 除了给自己看,没什么其他意义)。
所以,我这边主要描述几个安装osg的时候遇到的问题,建议大家先去看别人的安装帖,看完之后再来我这找一下对应的问题是否也出现了。
依赖库的安装(E: 您必须在 sources.list 中指定代码源(deb-src) URI 解决办法)
安装osg之前,得有OpenGL的依赖库,这个自己按教程去装吧(或者看我之前的文章也行)。
安装过程中,它有一个比较特殊的命令来安装OSG的第三方依赖库是:
sudo apt-get build-dep openscenegraph
但是我在执行这个代码后,报错
E: 您必须在 sources.list 中指定代码源(deb-src) URI 解决办法
解决方法
我没有按照网上的**“软件和更新”窗口中打勾“源代码”** 的方法,而是直接自己去修改souces.list
输入命令进入文件(当然了 nano也可以)
sudo vim /etc/apt/sources.list
这个修改前的对比,就是加了个deb-src后面的内容,具体内容你们可以去网上找中科大对应的写法,比如我之前就ubuntu-ports,因为我用的是树莓派(arm 64架构),它就是得用这个源,而不是常见的直接“ubuntu”
还是缺少依赖库?(其实 是cmake errror)
这个问题 我是被网上的一些帖子给误导了
之前**“cmake …**”之后,老上会告你缺少一些依赖库,然后网上会说用“sudo apt-get build-dep openscenegraph ”解决,确实,你发现这之后确实有些依赖库装上了 但是还有一些依赖库依然没有
这边就是极大的误导了, 其实它也说了,这些是可选的依赖库(optional),这其实不是我们cmake不成功的原因!,罪魁祸首而是下面的cmake error
它说有个变量“Boost_INCLUDE_DIR”没有定义,且告诉你问题出现在 /las文件夹里面
找到这个文件夹,里面有个 cmakelist文件,打开它你给提到的变量“Boost_INCLUDE_DIR”,定义一下即可。即添加代码“set(变量 路径)”
有人问,这个路径,怎么找啊?
这个路径对应的事boost的头文件路径(h文件或者hpp文件)
如图,我的boost的头文件路径在对应的路径下
结束
解决完问题之后,再cmake … ,虽然还是会提示你有些可选的库没装,但是不影响它成功生成。