OSSIM在Linux系统下的源码编译
0、软件库依赖关系:
OSSIM:
——GDAL
——geos
——proj
——HDF4
——HDF5
——OpenSceneGraph
————InsightToolkit
————ffmpeg
——————yasm
————OPANAL
————PODOFO
——————libpng(15)
——KAKADU
——MrSID(忽略了)
——QT
——libgeotiff
——gpstk
1、下载ossim源码
下载地址:http://download.osgeo.org/ossim/source/ossim-1.8.20/
相关资料参考网址:http://trac.osgeo.org/ossim/wiki
2、下载依赖库
上面的地址中也提供了部分依赖库下载,因本人机器上已经安装过gdal-1.6.3、geos-3.2.2、proj-4.7.0,故没有再安装这些软件,可以在http://download.osgeo.org/ossim/dependencies/上找到gdal和geos的源码包,以及libgeotiff、libpng按说明进行编译安装;
至于proj库,则可从http://proj4.org/download.html上下载;
HDF4和HDF5
可从https://support.hdfgroup.org/上下载,本人是直接下载的安装包(hdf-4.2.12-linux-centos6-x86_64.tar.gz,hdf5-1.8.18-linux-centos6-x86_64-gcc447-shared.tar.gz),解压后放在、usr/local目录下即可;
OSG
ossim也提供了几个OSG的版本,但编译过程中会报错(接口以及常量找不到),明显的版本不匹配,此处需注意选择合适的版本下载,下载地址:http://www.osgchina.org/index.php?option=com_content&view=category&id=106&Itemid=478;
InsightToolkit
下载地址:https://sourceforge.net/projects/itk/files/itk/,本人下载的4.11.0版本
OPENAL
openal用于给多通道三维位置音效的特效表现,OSG依赖于此,下载地址:http://kcat.strangesoft.net/openal-releases/openal-soft-1.14.tar.bz2;
FFMPEG和yasm
参看本人文章http://www.cnblogs.com/HandyLi/articles/6611542.html;
PODOFO
从https://sourceforge.net/projects/podofo/files/podofo/下载,本人下载的0.9.0版本;
MrSID
找了好几天都没找到可用源码或安装包,加入了https://www.lizardtech.com/的开发者计划也没有回应。。。。。
QT
本人机器已经安装4.5.2,QT的安装也比较简单,不再赘述。比较全的下载地址:http://download.qt.io/archive/qt/
gpstk
ossimPlanet的星历(Ephemeris)模块依赖gpstk,下载地址:https://sourceforge.net/projects/gpstk/files/gpstk/
3、编译 (参考:https://wenku.baidu.com/view/f84d5fc8da38376baf1fae37.html)
按前面的软件依赖关系逐个编译源码和安装依赖库,源码文件的根目录中都有README或者INSTALL文件说明该源码包的编译安装过程,常用configure选项,--enable-shared、--prefix=/usr/local
在configure或者cmake后,可修改CMakeLists.txt修改软件连接库的路径,本人的依赖库安装在、usr/local目录下,编译的时候默认搜索/usr/lib64目录,部分库需要手动指定INCLUDE和LIBARARY路径,本人编译OSG时手动设置了ITK、FFMPEG以及libpng的路径。
3.1本地安装的libpng有两个版本,分别为libpng12和libpng15,编译podofo时,可能用的版本比较新,依赖/usr/local下的libpng15,libpng12是安装QT时自动安装的,目录为/usr/lib64,导致系统默认使用的是libpng12,找不到部分接口,在对应的CMakeLists.txt文件中找到语句,将其注释掉,然后增加如下内容:
3.2ITK依赖也与以上类似,找到依赖ITK的CMakeLists.txt文件,修改如下:
并在连接ITK动态库时修改如下,ITKIO可能被分解成不同的IO动态库,不存在ITKIO同名的动态库,将所有ITK库导入即可。
3.3同样的设置FFMPEG的头文件及动态库,如下:
3.4 设置OSSIM编译的环境变量
OSSIM_DEV_HOME为OSSIM源码路径src下包括以下文件:
OSSIM_INSTALL_PREFIX为OSSIM的安装路径;OSSIM_DEPENDENCIES为OSSIM依赖库位置,在CMakeLists.txt中可设置依赖库路径。
3.5 编译命令
cd ~/ossim-svn/src/ossim_package_support/cmake
mkdir build
open configure.sh //检查配置
cd build
../configure.sh .. –G “Unix Makefiles” //rm CMake_cache .txt 删除配置缓存
make
make install
4、编译完成后运行ossim-geocell
加载示例数据: