ODE手册(1)安装和使用
说明:本手册翻译自ODE官方Manual
(一)安装
1.获取源代码
ODE目前只以源代码的形式发布,没有可以直接使用的预编译二进制安装包。因为可以通过很多种不用的方法,使用源码包为各种不同的特定项目进行相应的定制编译。正是基于这种考虑,曾近试图为Linux平台发行的二进制版本也就搁浅了。
直接下载稳定版 (*.tar.bz2---由SourceForge.net托管)
从Subversion获取源码包(同样由SourceForge.net托管)
不管你遇到什么样的问题,都可以在这个邮件列表中提问,或者查看相关提问。当然,如果你真的打算学习并应用ODE的话,就最好加入这个列表中。不管是比较初级的问题还是很有深度的探讨都可以在这里进行,不用担心没有人加入到你发起的讨论中。美中不足的一点是列表中的内容都是英文的,参与讨论并回答各种问题的也大多都是来自世界各地的使用ODE的朋友,毫无疑问只要你掌握了最基本的英文,就可以在这里结识很多优秀的“大人物”,不想提高自己的水平都难。
2.编译之前需要了解的
在你开始编译ODE之前,需要搞清楚ODE包含两部分的功能,其中一部分(“ODE”)是用于物理和碰撞检测的代码库,另一部分(“DrawStuff”)是对Win32/X11和OpenGL的封装,用于示例程序的演示,简而言之,就是用于将示例程序模拟所得的数据、结果以图形、图像的方式显示在屏幕上。你完全可以在自己的项目中抛弃它,用自己开发的程序替换。DrawStuff需要你使用的平台对OpenGL的支持(如果是Mac OS X平台的话则需要对X11的支持),ODE则不需要。你也完全没有必要为了使用ODE而去编译DrawStuff和那些示例程序(译者建议:如果是初学者,则最好先从示例程序学起,以熟悉ODE的运作)。
因为ODE是一款开源软件,ODE的开发团队为了让它能够支持不用的开发平台、环境以及工具,所以就提供了两种不用的编译方法。如果你倾向于是用./configure; make;make install(适用于*nix和Mac OS X平台)的编译安装方式,就请参考“使用Automaker编译”。如果你更倾向于使用IDE,就请参考更下面的“使用Premake编译”。
3.使用不同的编译方法
3.1 用Automake编译:
如果你是从Subversion下载的源码包,就需要通过运行autogen.sh脚本来引导自动化工具;如果是直接下载的稳定版就不需要,因为稳定版已经预先做过这一步了。
$ sh autogen.sh
注意:在这之前你需要预先安装最近版本的 autoconf(2.61)、automake(1.10)和libtool等工具软件。或许还会出现一些取决于所使用平台的"underquoted definition"警告,但都“无伤大雅”。
$ ./configure --help
对新手而言,最好运行上面的命令详细了解各种不同的选项。下面列出的是一些比较重要的:
- --disable-demos --without-x 让ODE可以在Mac OS X平台上编译
- --enable-double-presision 启动双精度计算
- --with-trimesh=opcode 使用OPCODE三角网格支持(默认)
- --with-trimesh=gimpact 使用GIMPACT三角网格支持
- --with-trimesh=none 不使用网格支持
- --enable-new-trimesh 启用可选的OPCODE三角网格支持(必须和--with-trimesh=opcode一起使用)
- --with-demo 使生成的工程包含示例程序和DrawStuff库
- --with-tests 使生成的工程包含自动化测试组件(如果你需要改动ODE,则建议添加此选项)
- --no-trimesh 去掉ODE对三角网格几何体碰撞的支持,以减少库文件的大小
(二)如何使用ODE
最好的理解该怎样使用ODE的方法是直接去查看ODE所提供的各种test/example程序,这些程序包含在 ode/ode/demo目录下。
按照如下步骤,创建新的ODE应用程序:
- 添加 ode/include 到你的include文件路径中
- #include <ode/ode.h>
- 在 ode/lib目录中查找适合的库查询路径和库名称,这些路径和文件的名称取决于你所使用的编译配置。例如:ode/lib/DebugSingleDLL 和 ode_singled.lib
- 添加一个适当的预编译符号dSINGLE(单精度)或者dDOUBLE(双精度),预编译符号的选择必须和你的ODE配置一致。如果二者没有一个被定义,便会默认采用单精度计算(根据译者经验,如果dSINGLE和dDOUBLE都没有被定义,确定无疑是会出错的),如果定义的精度模式与ODE的配置不一致,将会损坏所有的浮点型ODE输入\输出数据,可能引起各种无法想象的错误。
注意:当你使用ODE的dWorldStep函数时,对重物的仿真将会用栈(stack)去存储大量的临时数据,对于大一点的系统,有可能会用到好几MB大的栈。所以,如果你遇到未经说明的“内存不足”或“数据损坏”错误——尤其是在Windows平台上,那么你需要增加栈的容量或者使用dWorldQuickStep函数代替dWorldStep来避免这种错误的出现。
ODE手册(1)安装和使用相关推荐
- Linux中man手册的安装以及使用详解
Linux中man手册的安装以及使用详解 linux中man手册的安装以及使用详解 man手册是什么 man手册是干嘛的 man手册如何安装 man手册如何使用 举例讲解 我们来看一下man手册的目录 ...
- man手册,安装中文手册
一.man手册. 1.什么是man手册? man手册就是linux提供给用户查看linux语法的一本书,当用户遇到一些不懂的命令/函数时,不用刻意去记住命令/函数的用法,只需要记住怎么在man手册去查 ...
- Linux下 man命令的使用 及 中文man手册的安装
文章目录 1. man命令使用 2. 安装中文man手册 1. man命令使用 man命令是Linux下最核心的命令之一.而man命令也并不是英文单词"man"的意思,它是单词ma ...
- MDOS Smart Client用户中文手册(含安装、使用、配置)附件配图
序言: 截止目前MDOS Smart Client用户手册在全网都搜不到相关说明,为此我苦苦寻找了很久很久, 最后从微软官网下载"MDOS_SC_User_Manual_CHS_V3.0.p ...
- 欧姆龙模拟量模块ad041_欧姆龙CJ1W-AD041-V1手册CJ1W-AD041-V1安装使用手册 - 广州凌控...
20点输入输出型. 电源:DC电源 . 输出形式:继电器. 输入:12点. 输出:8点. 小机型标准内置了高功能的RS-232C. 为了通用PT更方便地监控机器运行.进行温度设定标准内置RS-232C ...
- ODE手册(0)概述
简介 ODE(Open Dynamic Engine)开源动力学引擎-是一款用于模拟"铰接式刚体"(个人理解:以关节链接的刚体)动力学的工业级质量程序库,内建有碰撞检测模块,可以被 ...
- php xdebug 中文手册,php 安装xdebug扩展
php 扩展获取地址http://pecl.php.net/package/ 编译安装的过程 wget http://pecl.php.net/get/xdebug-2.2.2.tgz tar -zx ...
- Django学习手册 - pycharm 安装/建立第一个网站hello world
步骤阐述: 1.下载 pycharm 安装包,安装pycharm 2.打开pycharm软件,新建工程项目 3.新建APP,配置url,启动项目 步骤1: pycharm 官网下载: https:// ...
- GNU GRUB手册之安装(一)
要把GRUB作为你的boot loader,你首选要在类UNIX系统中安装GRUB系统和相关工具.这些东西,你可以通过源码安装或者通过软件包来安装. 安装这些工具后,在类UNIX系统中,你需要通过gr ...
最新文章
- 有关YARN/MRv2 相关
- python求pai的近似值_Python实现蒙特卡洛模拟(第1部分)【个人翻译自Medium】
- dubbo使用遇到的问题
- Linux下安装并破解StarUML
- iOS 商城类 app 首页的实现
- 【动态规划】0/1背包问题
- vue.js 编程导航,如何传递参数?
- Oracle10gR5GridControl InstallOnLinux
- 用户代码未处理nullreferenceexception_CSAPP 第九章整理 未完成
- 浅入浅出 Android 安全:第一章 Android
- H5实现俄罗斯方块(一)
- 听力技巧-真题代练及填空题
- java字节码指令集简介
- 微信小程序的模块化开发,提高效率第一篇
- java疯狂讲义 摘录
- 自然语言处理之语料库
- java读书网站课程设计_Java课程设计
- Vue - 调用接口导出 excel 表格至本地
- Ubuntu18.04提示adb设备没有权限
- 任正非是否拿到未来的船票?