Mac下编译 OSG ( OpenSceneGraph )
2015-05-29 22:10
603 查看
最近要用到OpenSceneGraph得编译它,但MacOS使用开源软件确实比linux和windows麻烦。
第一轮,修改portfile
我使用MacPorts管理软件,能正常安装OSG,而且是最新版本,但默认没有编译osgQt,我研究很久,才发现可以通过修改portfile实现
但有一点,所有的依赖库者装上了,算成功了一半。
第二轮,手动控制安装流程
在研究MacPorts软件管理流程后,我手动控制OSG的配置、编译与安装,可参考 http://blog.csdn.net/lainegates/article/details/46240891
第三轮,出奇制胜
我研究好几天,初步确定是OSG代码的问题,于是我将官网可下载的几个版本挨个下载试了一遍,结果还是错。真是好事多磨啊。
正在这时,我突然之前使用homebrew时,OSG是能正常编译的!于是我查找了homebrew的formula文件,发现 homebrew使用的是普通用户看不到的源代码链接:http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.3.3.zip
使用这个代码编译后,一切正常。
这时我明白了MacPorts为什么在OSG上不使用编译的方式,是因为有问题。所以它下载特殊编译好的。
经过二年多的使用,发现MacOS在开源软件方面确实受限制,别的平台使用正常的软件在这个平台上有可能会出问题。
第一轮,修改portfile
我使用MacPorts管理软件,能正常安装OSG,而且是最新版本,但默认没有编译osgQt,我研究很久,才发现可以通过修改portfile实现
sudo port edit OpenSceneGraph # 打开OSG配置文件在最后几行找到了选项,默认是关闭的,
将OSG_USE_QT:BOOL=OFF 改为 OSG_USE_QT:BOOL=ON满心欢喜以为成功了,结果cmake还是找不到osgQt。
但有一点,所有的依赖库者装上了,算成功了一半。
第二轮,手动控制安装流程
在研究MacPorts软件管理流程后,我手动控制OSG的配置、编译与安装,可参考 http://blog.csdn.net/lainegates/article/details/46240891
sudo port configure OpenSceneGraph sudo port build OpenSceneGraph sudo port destroot OpenSceneGraph #这个必须有,否则MacPorts还是会下载编译好的OSG sudo port install OpenSceneGraph这将次找得到osgQt了,我以为大功告成了,结果我还是太年经。在使用OSG编译我的软件的时候,出现类似于 “symbol osgText::readFontFile not found” 和 "symbol osgText::Text::setText not found" 的错误。
第三轮,出奇制胜
我研究好几天,初步确定是OSG代码的问题,于是我将官网可下载的几个版本挨个下载试了一遍,结果还是错。真是好事多磨啊。
正在这时,我突然之前使用homebrew时,OSG是能正常编译的!于是我查找了homebrew的formula文件,发现 homebrew使用的是普通用户看不到的源代码链接:http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.3.3.zip
使用这个代码编译后,一切正常。
这时我明白了MacPorts为什么在OSG上不使用编译的方式,是因为有问题。所以它下载特殊编译好的。
经过二年多的使用,发现MacOS在开源软件方面确实受限制,别的平台使用正常的软件在这个平台上有可能会出问题。
相关文章推荐
- linux创建新进程的过程
- shopnc用户登录session丢失问题
- 分享一个网站
- 【架构师之旅】ITOO框架总结
- 零基础学习hadoop到上手工作线路指导(初级篇)
- win7(windows) 下 git bash 调用 notepad++ 或者其他编辑器的方法
- B\S备忘录16——tomcat压缩版安装
- Hadoop到底能做什么?怎么用hadoop?
- apache 网站跳转至同一页面(可用于当网站在备案时显示告示)
- Linux下的DNS服务器配置实践(三)-子域授权、转发、视图
- Linux内核信号处理机制介绍
- Linux 链接脚本详解
- 【AOP】借助容器将服务与代理类分离
- AOP之代理模式(一)
- itop4412的linux环境搭建
- Linux配置
- shell
- linux部署nginx-1.7.0流媒体服务器
- 【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置
- @property关键字的使用