博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
osg学习示例之遇到问题四骨骼动画编译osgCal
阅读量:6824 次
发布时间:2019-06-26

本文共 2414 字,大约阅读时间需要 8 分钟。

 

转自:http://blog.csdn.net/wuwangrun/article/details/8239451

今天学到书《OpenSceneGraph三维渲染引擎编程指南》的骨骼动画示例,遇到了编译osgCal问题,书上说的不详细,网上就查到一遍相关文章

http://www.cnkinect.com/thread-15697-1-1.html

写的挺完整,我照着做基本没大问题,这里自己在他的文章基础上重新整理总结了一下

1、 编译Cal3D,目的就是得到cal3d_d.lib、cal3d_d.dll及cal3d.lib,cal3d.dll,后面编译osgCal依赖cal3d库文件(本例中只用到库文件,动态库只是附属物)。

 

1.1、cal3d源码获取,通过SVN获取最新的源码,最新源码下载地址:

http://svn.gna.org/svn/cal3d/trunk 。下载的源码文件包含以下三个文件夹

 

1.2、打开cal3d,找到cal3d.sln,打开该工程,包含12个工程,这里我们只需要buildCal3D工程,选择该工程,右击,在弹出框中选中build,单击。等待几分钟就可以在bin文件下的Debug和Releas得到cal3d_d.lib、cal3d_d.dll(debug模式)及cal3d.lib、cal3d.dll(release模式)。

 

1.3、在cal3d目录下新建lib、include、bin文件夹,将cal3d_d.dll、cal3d.dll拷贝到bin文件;cal3d_d.lib、cal3d.lib拷贝到lib文件夹;将src的所有文件拷贝到include文件夹。到这里编译osgCal的准备工作就完成了。

2、 编译osgCal,编译osgCal就是为了得到osgCald.dll、osgCald.lib及osgCal.dll、osgCal.lib(后面带d的是在debug模式下得到的,不带的是release模式)。

 

2.1、svn获取最新源码,最新源码获取地址:

https://osgcal.svn.sourceforge.net/svnroot/osgcal/trunk/osgCal

 

2.2、打开Cmake,生成osgCal解决方案。将osgCal文件下的CMakeLists.txt拖到CMake 2.8.7。

点击Configure,选择编译的环境

 

2.3、安照下面的要求,配置参数。

这是重点。这里的include路径及lib文件几乎都是手动加过去的。

对几个重要的参数作个解释,其他参数自行修改:

CAL3D_INCLUDE_DIR      cal3d的include文件的路径(E:/cal3d/cal3d/include)
CAL3D_LIBRARY          cal3d的lib文件(E:/cal3d/cal3d/lib/cal3d_d.lib)
OPEN_THREADS_INCLUDE_DIR 
OpenThreads的include路径
(D:/osgSDK/OpenSceneGraph-2.8.2/include/OpenThreads)
OPEN_THREADS_LIBTARY
OpenThreads的lib路径(D:/osgSDK/OpenSceneGraph-2.8.2/lib/OpenThreads)
OSG_INCLUDE_DIR         
osg的include文件路径(D:/osgSDK/OpenSceneGraph-2.8.2/include)
OSG_LIBRARY             
osg的lib文件(D:/osgSDK/OpenSceneGraph-2.8.2/lib/osg.lib)

2.4、参数配置完毕后,第二次点击configure。
确定无误后点击Generate,显示Configuring done,表明配置成功,将生成解决方案。
注意:这里include及lib路径要与osgCal工程下的Tools-Options-Projects and Solutions-C++ Directories的include及lib路径相一致。要是在CMake中未添加这些include及lib路径(前提是Generating done),在工程中再添加include及lib路径也是可以的。Cmake中允许有警告,但是不要有错误,否则编译会通不过去。

2.5、打开osgCal.sln解决方案,注意:检查Tools-Options-Projectsand Solutions-C++ Directories中的include及lib路径是否正确。Build ALL_BUILD。等待十几分钟,显示6 succeeded,0 faild,表明编译成功。

我在编译的时候遇到无法解析的错误,在相应遇到问题的工程属性下加上lib依赖项Cal3D.lib,再进行编译,成功。

 

2.6、将osgCald.dll、osgCal.dll拷贝到bin文件;osgCald.lib、osgCal.lib拷贝到lib文件夹。

经过千辛万苦,终于得到了所需要的osgCald.dll、osgCal.dll及osgCald.lib、osgCal.lib。

 

2.7、配置osgCal环境

将osgCal下的include里面osgCal放到之前编译OSG的那个include下。相应的dll和lib也放到对应的目录下,这样就不用再配置环境变量了。就可以开始跑例子啦。

 

注:最后如果碰到问题大多应该是环境配置的问题,我是把所有要用的include dll lib 都放到了一起,包括为编译osgCal所生成的Cal3D的dll lib,这样就不用再另外设置环境变量路径神马的了

转载于:https://www.cnblogs.com/flylong0204/p/4560656.html

你可能感兴趣的文章
11月15日云栖精选夜读:分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?...
查看>>
Druid数据库连接池就这么简单
查看>>
Python最假的库:Faker
查看>>
IDE 插件新版本发布,开发效率 “biu” 起来了
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石
查看>>
Redis 基础、高级特性与性能调优
查看>>
BZT52C15S资料
查看>>
Laravel Telescope入门教程(上)
查看>>
Linux配置ip 及网络问题排查
查看>>
AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)
查看>>
OSChina 周四乱弹 ——黑丝短裙java程序员同事
查看>>
设置iptables之后不能正常访问ftp解决方法
查看>>
移动端rem布局
查看>>
jsp与iframe跨域访问的一个方法
查看>>
ViewPager + Fragment 取消预加载
查看>>
BigDecimal 02 - 注意事项
查看>>
用js玩桌球游戏
查看>>
maven下运行jetty报错
查看>>
android 配置framework 使应用首选安装在SD卡
查看>>
h5 点击表单 顶部fixed 菜单栏 上移
查看>>