|
今天要写点osgearth编译的心得,因为我也是正在入门中,编译osgearth是研究深入的第一步,网上虽然有编译好的包,但是授人以鱼不如授人以渔。大道理不多讲,现在就写点我在学习编译osgearth编译过程中的心得,不是教程胜似教程,因为思路在这儿。适合,正在焦急编译,却总不成功的朋友,我开始就是这样,弄了整整4天才编译通过OSGEARTH2.2,后来知道了流程,就顺利编译通过了osg3.4+osgearth2.7++(VS2010+win7)。
首先,如果是如过你是刚c++入门的小白,请先练点基本功,起码知道CMAKE,怎么用。以及一些基本的编译常识。这个是个基础。我的基础就比较薄弱,以前用过c++两三个月用过OSG一个月以上,基本知道类的调用,也有opengl的概念功底(12月++),了解一点编译器cmake的使用。当然,如果是小白,也不可怕,只要你爱好,去百度,不会什么就百度什么,这个我写下自己这个历程的心得。
一、要确定编译OSG
1.确定版本
如果,想要编译新的版本的osgearth,例如下载github上最新的源码,就要用新的OSG库,最好用osg3.4。如果你有了osg3.0.1,不想再次编译了,就只能编译osgearth2.2的版本的了。其他的版本对应,可以参考他人的经验教程。
2.第三方库编译
第三方库(3dparty),这个库很重要,里面有curl、freetype、iff/png/jpeg、zlib、dea……。等一些库,特别是要编译比较新的osg版本,第三方库就要越多,其中一些库是必须的,如图片、字体、压缩等库,也有些是插件库,有他们就能编译更多的插件。怎么知道需要哪些库?先Cmake一下,红的一大片,什么后面写着NO-FIND,就去搜什么,如果需要编译,就先搜编译。这个第三方库找的越全越新越有利于你编译。(怕辛苦是不对的,如果没有耐心,就先知难而退去找点人家编译好的用吧,这个是个权宜之计,最终还要自主编译,因为不编译源码就去运行例子就学的不透!)
3.编译过程
参考网上的例子吧,一搜一堆,但是质量各异。大致流程就是那样,在CMAKE中设置好路径名字。ALL_BUILD 编译(D/R),等三个钟头,如果都生成成功,恭喜,第一步OK!如果有个别生成错误,就要好好看看错误的信息提示,是少什么东西或者什么版本不对。如果是某个例子(Sample)错了,那也可以忽略,只要lib和dll生成成功就行了!
二、继续找OSGEARTH所需要的第三方库
1.这里很重要,特别是GDAL、GEOS、CURL、(protobuf,新的)sqlite、Zlib等。与OSG类似,有些是必要的,有些是插件。具体看CMAKE通过不通过就知道,这里CMAKE要用3.1以上的版本。
2.这里用的3dparty和编译osg用的3dparty,要一致!
三。编译osgearth
1.注意设置Include目录,lib 目录,其中lib目录要加上即将编译生成osgearth 的lib库目录。这点很重要,
2.如果编译有失败,仔细看看失败的原因,然后根据意思自己推断一下。相信自己的直觉。
最后,总结一点,就是耐心+勇气+不畏困难!
可能写的太含糊其词,如有具体问题欢迎交流!qq:329611847
|
-
osgearth例子
|