在Linux下编译osg与osgEarth
OSG、osgEarth是三维仿真领域经常用的开源引擎。由于Linux使用有一定的门槛,并且编译OSG和osgEarth需要使用到各种各样的库,这导致Linux下开发效率很低。
随着国产化操作系统的推广,越来越多的人开始接触并使用国产操作系统进行三维开发,本文以银河麒麟OS为例,编译OSG与osgEarth,具体编译步骤:
第
1
篇
- 前期准备 -
A.下载
官网下载适配自己机型的NVIDIA驱动程序;
B.禁用nouveau
#vim/lib/modprobe.d/blacklist_linux_4.4.0-21-generic.conf
在末尾追加“blacklist nouveau”;
验证nouveau是否已经禁用:
#lsmod|grep nouveau
没有信息显示,说明nouveau已经被禁用了。
C.使用多用户模式并重新启动
#systemctl set-default multi-user.target
#reboot
第
2
篇
- 安装测试 -
A.安装NVIDIA驱动
#chmod +x NVIDIA-linux-x86_64-378.13.run
#./ NVIDIA-linux-x86_64-378.13.run
安装最后一步没有提示安装成功,而是提示“Error:Unable to load the ‘nvidia-drm’ kernel module”,这个问题的解决方法就是在BIOS中关闭SECURITY BOOT选项。
B.驱动安装成功后切换到图形模式重新启动
#systemctl set-default graphical.target
#reboot
C.测试NVIDIA驱动程序是否安装成功
#nvidia-installer –v | grep version
显卡驱动安装成功后,就可以正式开始进行Linux下OSG和osgEarth的编译了。
第
3
篇
- 编译 -
A.如何编译第三方依赖库?
下滑显示更多
B.如何编译OSG?
1) 使用cmake打开OSG源码下的CMakeLists.txt并选择构建路径;
2) 使用cmake配置OSG编译环境,检查配置curl、freetype、gdal、jpeg、png、tiff、zlib和配置QT项;
3) OSG环境配置成功后执行Configure和Generate;
4) 终端进入OSG构建目录下执行:$make –j8;
5) 编译成功后执行安装命令:$sudo make install;
6) 使用root用户权限将动态链接库加载到内存;
#touch/etc/ld.so.conf.d/mylib.conf #echo"/usr/local/lib64">>/etc/ld.so.conf.d/mylib.conf #echo "/usr/local/lib" >> /etc/ld.so.conf.d/mylib.conf
#ldconfig
7) 测试OSG:$osgversion。
C.如何编译osgEarth?
1) 使用cmake打开osgEarth源码下的CMakeLists.txt并选择构建路径;
2) 检查配置curl、gdal、geos、zlib以及所有Qt库和所有osg库;
3) osgEarth环境配置成功后执行Configure和Generate;
4) 终端进入osgEarth构建目录下执行:$make –j8;
5) 编译成功后执行安装命令:$sudo make install;
6) 将动态链接库加载到内存:$ sudo ldconfig;
7) 测试osgEarth:$osgearth_version。
注:技术人员已将三方库编译资料进行了整理,如有需要请进入FreeX公众号,回复关键字“三方库”获得资源呦~