Deepin Linux 下 OSG 安装
Deepin Linux 下 OSG 安装
**
前言:
**
女人天生就比男人情商高,男程序员情商更低,只能在东北玩泥巴。有一个好玩的泥巴OSG,它是开源跨平台的三维实时场景图开发引擎,被广泛应用在可视化(飞行、船舶、车辆、工艺等仿真)、增强现实以及医药、教育、游戏等领域。
可是网上的安装教程大都是windows的,把大厦建立在别人的沙滩上,呵呵。支持国产,在Deepin Linux 15.8下测试成功。
一、下载
禅师说:多则惑,少则明。一般情况下,学习和研究不一定要用最新版本, 因为新版本庞大、特性多。因此我选择了稍旧的版本3.4和数据, 需要翻_墙才能下载。
二、编译
Osg用cmake辅助编译,要求cmake版本>2.8, 可以用命令看下
cmake --version
把源码OpenSceneGraph-master.zip 解压,然后执行如下命令
cd OpenSceneGraph-master
mkdir build
cd build
cmake ..
禅师说:挫折不断是常态,一帆风顺是变态。
完成后,后提示缺少一些库如下:
怎么办?这么多配件缺少!!
禅师又说:山无常势,水无常形,遇事绕着走即可。
这些配件都是可选的,你不用可以不管它,比如SDL。而有的库最好安装一下,比如FreeType才能正常显示中文,PNG才能支持png图片等。
网上有第三方库,但是都是针对windows下VS的,啊呸!!!官网说在Linux下可以用如下命令解决
apt-get install openscenegraph
但实际上会出现源错误而无法进行。所以终极大法只有:手动挨个安装:
egl:libgles2-mesa-dev
freetype:libfreetype6-dev
jpeg:libjpeg-dev
fltk:fltk1.3-dev
curl:libopenssl-dev
gstreamer:libgstreamer-plugins-base1.0-dev
gdal:libgdal-dev
sdl2:libsdl2-dev
sdl:libsdl1.2-dev
wxWidget:libwxgtk3.0-dev
tiff:libtiff-dev
接下来就开始编译, 有个小坑, 只用make 速度慢,用make -j速度快,但会导致占用最多的资源,表现为硬盘卡死,反而更慢,而适当的参数, 如 -j4比较适中。
make -j4
sudo make install
添加环境变量
,在 ~/.bashrc文件最后添加如下内容,具体地址要根据你的osg放置的地方和osg数据放置的位置来确定
export PATH = “${PATH}:/你的osg目录/bin”
export LD_LIBRARY_PATH = “${LD_LIBRARY_PATH}:你的osg目录/lib”
export OSG_FILE_PATH = “你的数据目录/OpenSceneGraph-Data:你的数据目录/OpenSceneGraph-Data/Images”
完成后执行 source ~/.bashrc 命令让环境命令生效。
三、测试
用命令:osgviewer cow.osg 就可以看到牛牛啦1
可以用F, L等命令,用鼠标搬弄一下牛牛,哈哈哈!
到此,是时候提升级别啦!编译自己的代码:
#include<osgDB/ReadFile>
#include<osgViewer/Viewer>
int main()
{osgViewer::Viewer viewer;viewer.setSceneData(osgDB::readNodeFile("glider.osg"));viewer.realize();viewer.run();return 0;
}
大道至简,能验证OSG编程,代码越少越好!
g++ t1.cpp -losgDB -losgViewer
注意: -losgDB -losgViewer 库缺少,会出现
“无法添加符号: DSO missing from command line” 错误
编译成功后,执行 ./a.out, 飞机模型出现啦!
四、自带案例
案例源码在/examples下,但安装时能自动编译成功的案例都放在 /build/bin路径下。有的案例无法编译成功,因为缺少第三方库,或者第三方库版本问题导致编译参数变化,此时需要找到原因并手动补全编译参数。例如,我安装了Fltk,但 /examples/osgviewerFLTK就死活编译失败,经历千辛万苦,最后用如下指令编译成功:
g++ osgviewerFLTK.cpp -I/usr/local/include -I/usr/local/include/FL/images -I/usr/local/include/freetype2 -I/usr/include/uuid -I/usr/include/libpng16 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT /usr/local/lib/libfltk.a -L /usr/local/lib/ -lXrender -lXcursor -lXfixes -lXext -lXft -lfontconfig -lXinerama -lpthread -ldl -lm -lX11 -lfltk_gl -lGL -lOpenThreads -losgDB -losgText -losgUtil -losg -losgViewer -losgGA -losgManipulator -losgVolume -losgSim
哈哈,是不是有点复杂,不过只要你像天狗一样孜孜不倦地追求,软件总是会回应你想要的结果。
对了,禅师好像又说:用恋爱脑来对付事业,用事业脑对付对象!
Deepin Linux 下 OSG 安装相关推荐
- deepin linux下python安装mysqldb
` sudo pip search MySQL-python ` 转载于:https://www.cnblogs.com/jiftle/p/7190478.html
- 打造前端 Deepin Linux 工作环境——安装系统
打造前端 Deepin Linux 工作环境--安装系统 为什么选择 Deepin Linux 系统 在 linux 操作系统的选择上,我个人不喜欢太花里胡哨的东西.曾经一度认为 linux 系统只应 ...
- 【转】deepin Linux下Picked up _JAVA_OPTIONS错误
转自百度经验 在deepin linux下安装JDK,编译.执行java程序时出现Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp ...
- 打造前端 Deepin Linux 工作环境——安装配置 atom 编辑器
打造前端 Deepin Linux 工作环境--安装配置 atom 编辑器 好,我个人推荐大家使用 atom 编辑器,第一是免费,第二是好看,第三是好用. 安装 atom 编辑器 我们输入 apt-c ...
- deepin/linux下svn客户端工具
我的博客 deepin/linux下svn客户端工具 尝试过几款linux下svn的客户端例如RapidSVN,这个工具在添加svn仓库的时候总是会卡,总之用起来不太舒服,皇天不负有心人终于找了了另外 ...
- Deepin Linux下阿里旺旺的更新
Deepin Linux商店中的阿里旺旺版本太低,安装后总是提醒要升级,但是大家知道的,不可能升级成功. 琢磨后,得到一个简单粗暴的方式. 先在Deepin Linux下安 ...
- mysql在linux下的安装
mysql在linux下的安装 安装环境:系统是 centos6.5 1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads ...
- linux 保存编译log,(转)Linux下编译安装log4cxx
一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...
- liunx tar安装mysql_在Linux下,安装Mysql(tar)
在Linux下,安装Mysql(tar) # cd /home/tmp (进入压缩包所在目录) # groupadd mysql (建立mysql组) # useradd -g mysql mysql ...
最新文章
- 基于kafka_2.11-2.1.0实现的生产者和消费者代码样例
- tomcat quartz 被触发两次
- access游戏库不显示 ea_英伟达上线云游戏服务 千款游戏月费4.99美元
- 【渝粤教育】国家开放大学2018年秋季 0109-21T公司财务 参考试题
- Nginx (LNMP+https)
- 【java设计模式】【行为模式Behavioral Pattern】迭代器模式Iterator Pattern
- java 多线程下载文件
- 安卓模拟器切换横屏之后怎么返回竖屏
- ScrollView嵌套ListView只显示一行
- Postfix+Mysql+Apache+Dovecot+Thunderbird+Extmail+E
- 20191130_C6H6(GT)预测
- Linux硬件IO的优化简介
- db_cxx.h: No such file or directory
- Maven基础篇之Maven实战入门-最新IDEA版maven
- mysql最左前缀原则学习笔记,in也可以走索引
- 汽车CAN总线数据帧分类及格式详解
- 冷冻莴苣的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- The Humble Programmer
- 设计模式原则——SOLID
- chrome插件draw.io代替visio成为流程图架构图制作新的利器