Linux下OSG的编译和安装以及遇到的问题
(第一段日常扯蛋,大家不要看)由于我们教研室所做的RTMapper要用到GDAL,所以就打算看osgearth的源码来熟悉下GDAL库的使用,同时也了解下osgearth中关于带有高程的图像拼接。然而在编译osgearth时遇到了许多问题(头疼),osgearth有许多依赖库,根据cmake的提示,基本上就知道依赖库有哪些,有些可以直接apt-get或上官网下源码包,但建议不要apt-get,因为apt-get的有些版本比较低,例如就这个openscenegraph听师兄说要到官网下,可谁知官网下的问题比直接apt-get的错误还要多!这。。。。。。。
一、准备
1、点这里下载osg的源码包
2、点这里下载一些demo(用于测试)
二、编译osg
解压源码包
进入osg文件夹,终端输入(外部编译)
mkdir build
cd build
cmake ..
make
sudo make install
三、测试
1、找不到libosg.so问题
终端输入osgviewer测试时提示::osgviewer: error while loading shared libraries: libosg.so.99.原来在ubnutu64位机制上编译osg并sudo make install后,其将库放在了/usr/local/lib64下面。故export LD_LIBRARY_PATH=/usr/local/lib64即可。当然如果不知道自己的libosg.so在哪,使用find找下。可以把配置环境的命令写入.bashrc中这要每次开机就会自动执行。即在~/.bashrc文件最后添加如下内容
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib64"
下划线的目录要根据自己的libosg.so的位置来填写。
测试结果
……
2、找不到data的问题
终端输入osgviewer cow.osg测试时提示找不到测试文件时,和上面问题一样终端执行export OSG_FILE_PATH="/home/hj/my_libs/OpenSceneGraph-Data"也可以在~/.bashrc最后添加
export OSG_FILE_PATH="/home/hj/my_libs/OpenSceneGraph-Data:/home/hj/my_libs/OpenSceneGraph-Data"
下划线的目录即为自己在准备时,下载的demo文件夹。
测试结果