说明:本手册翻译自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一起使用)
一旦./configure成功运行,就可以进入编译阶段
$ make
$ sudo make install (因为会有库文件和头文件添加到系统库中,所以至少这一步必须得使用root权限执行)
3.2 使用Premake编译
premake是一款编译配置工具,它可以为Visual Studio、Code::Blocks、CodeList以及GNU Make(后续版本中将会添加对XCode的支持)等开发环境生成自定义的工程文件。在ODE的源码包中只提供了一个Windows版的Premake工具: build/premake4.exe,其它平台的用户可以再这里 下载相应的源码包或者二进制包。
为了生成相应的工程文件,你需呀在ode/build目录下运行Premake工具,并且要给定你的工具集(Premake是一个命令行程序,必须在控制台或者终端中运行)。例如,下面的命令将会生成可以直接在Visual Studio 2008打开的工程文档:
$ cd ode/build
$ premake4 vs2008
所生成的工程文档(如.sln,.vcproj)被放在相应名称的目录下面,在这个例子中生成的工程文档就在 ode/build/vs2008目录下。
可以通过 $premake4 --help 命令查看其所支持的工具集和选项。下面是一些比较重要的配置选项:
  • --with-demo 使生成的工程包含示例程序和DrawStuff库
  • --with-tests 使生成的工程包含自动化测试组件(如果你需要改动ODE,则建议添加此选项)
  • --no-trimesh 去掉ODE对三角网格几何体碰撞的支持,以减少库文件的大小
注意:选项的定义必须在工具集前,例如:
$ premake4 --with-demos --with-tests vs2008
生成的工程文档提供几种不同可能性的编译配置,像使用单精度或是双精度计算、使用静态库或是动态库等。如果你使用Premake工具来生成GNU Makefiles文件,请查看Makefiles文件中开头关于编译时可选用的配置指令的注释说明,IDE用户则可以如同正常情况下设置编译配置。
Premake工具最近新添加了对“交叉编译平台“的试验性支持,可以编译出面向Xbox 360,Playstation 3 以及 Mac OS X的通用二进制文件。你可以在Premake的帮助文件中查看其所支持的各种平台。
与其生成一大堆用户并不一定会用到的支持各种平台组合的默认工程文件,还不如使用 --platform 参数直接生成对应于特定平台和特定环境的工程文件,例如:
$premake4 --platform=ps3 vs2008

(二)如何使用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)安装和使用相关推荐

  1. Linux中man手册的安装以及使用详解

    Linux中man手册的安装以及使用详解 linux中man手册的安装以及使用详解 man手册是什么 man手册是干嘛的 man手册如何安装 man手册如何使用 举例讲解 我们来看一下man手册的目录 ...

  2. man手册,安装中文手册

    一.man手册. 1.什么是man手册? man手册就是linux提供给用户查看linux语法的一本书,当用户遇到一些不懂的命令/函数时,不用刻意去记住命令/函数的用法,只需要记住怎么在man手册去查 ...

  3. Linux下 man命令的使用 及 中文man手册的安装

    文章目录 1. man命令使用 2. 安装中文man手册 1. man命令使用 man命令是Linux下最核心的命令之一.而man命令也并不是英文单词"man"的意思,它是单词ma ...

  4. MDOS Smart Client用户中文手册(含安装、使用、配置)附件配图

    序言: 截止目前MDOS Smart Client用户手册在全网都搜不到相关说明,为此我苦苦寻找了很久很久, 最后从微软官网下载"MDOS_SC_User_Manual_CHS_V3.0.p ...

  5. 欧姆龙模拟量模块ad041_欧姆龙CJ1W-AD041-V1手册CJ1W-AD041-V1安装使用手册 - 广州凌控...

    20点输入输出型. 电源:DC电源 . 输出形式:继电器. 输入:12点. 输出:8点. 小机型标准内置了高功能的RS-232C. 为了通用PT更方便地监控机器运行.进行温度设定标准内置RS-232C ...

  6. ODE手册(0)概述

    简介 ODE(Open Dynamic Engine)开源动力学引擎-是一款用于模拟"铰接式刚体"(个人理解:以关节链接的刚体)动力学的工业级质量程序库,内建有碰撞检测模块,可以被 ...

  7. php xdebug 中文手册,php 安装xdebug扩展

    php 扩展获取地址http://pecl.php.net/package/ 编译安装的过程 wget http://pecl.php.net/get/xdebug-2.2.2.tgz tar -zx ...

  8. Django学习手册 - pycharm 安装/建立第一个网站hello world

    步骤阐述: 1.下载 pycharm 安装包,安装pycharm 2.打开pycharm软件,新建工程项目 3.新建APP,配置url,启动项目 步骤1: pycharm 官网下载: https:// ...

  9. GNU GRUB手册之安装(一)

    要把GRUB作为你的boot loader,你首选要在类UNIX系统中安装GRUB系统和相关工具.这些东西,你可以通过源码安装或者通过软件包来安装. 安装这些工具后,在类UNIX系统中,你需要通过gr ...

最新文章

  1. 有关YARN/MRv2 相关
  2. python求pai的近似值_Python实现蒙特卡洛模拟(第1部分)【个人翻译自Medium】
  3. dubbo使用遇到的问题
  4. Linux下安装并破解StarUML
  5. iOS 商城类 app 首页的实现
  6. 【动态规划】0/1背包问题
  7. vue.js 编程导航,如何传递参数?
  8. Oracle10gR5GridControl InstallOnLinux
  9. 用户代码未处理nullreferenceexception_CSAPP 第九章整理 未完成
  10. 浅入浅出 Android 安全:第一章 Android
  11. H5实现俄罗斯方块(一)
  12. 听力技巧-真题代练及填空题
  13. java字节码指令集简介
  14. 微信小程序的模块化开发,提高效率第一篇
  15. java疯狂讲义 摘录
  16. 自然语言处理之语料库
  17. java读书网站课程设计_Java课程设计
  18. Vue - 调用接口导出 excel 表格至本地
  19. Ubuntu18.04提示adb设备没有权限
  20. 任正非是否拿到未来的船票?

热门文章

  1. 分布式之 Redis 复习精讲
  2. 超分辨率重建开山之作——SRCNN
  3. nginx 安装包手动安装搭建文件服务器(CentOS 7)
  4. 基于MATLAB实现PCA人脸识别
  5. python立体匹配评价,sad立体匹配算法的Python实现,SAD,PYTHON
  6. uniapp显示提示框背景变暗_APP页面提示样式小总结
  7. 推荐几个计算机常用的笔试面试题网站
  8. linux中tldr安装
  9. iOS开发~UI布局(三)深入理解autolayout
  10. 牛顿迭代法 求方程根