Mac下编译 OSG ( OpenSceneGraph )

3 篇文章 0 订阅

最近要用到OpenSceneGraph得编译它,但MacOS使用开源软件确实比linux和windows麻烦。


第一轮,修改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在开源软件方面确实受限制,别的平台使用正常的软件在这个平台上有可能会出问题。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值