Bullet 的 CMake 编译流程

.title { text-align: center; margin-bottom: .2em }
.subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 }
.todo { font-family: monospace; color: red }
.done { font-family: monospace; color: green }
.priority { font-family: monospace; color: orange }
.tag { background-color: #eee; font-family: monospace; padding: 2px; font-size: 80%; font-weight: normal }
.timestamp { color: #bebebe }
.timestamp-kwd { color: #5f9ea0 }
.org-right { margin-left: auto; margin-right: 0px; text-align: right }
.org-left { margin-left: 0px; margin-right: auto; text-align: left }
.org-center { margin-left: auto; margin-right: auto; text-align: center }
.underline { text-decoration: underline }
#postamble p,#preamble p { font-size: 90%; margin: .2em }
p.verse { margin-left: 3% }
pre { border: 1px solid #ccc; padding: 8pt; font-family: monospace; overflow: auto; margin: 1.2em }
pre.src { position: relative; overflow: visible; padding-top: 1.2em }
pre.src::before { display: none; position: absolute; background-color: white; top: -10px; right: 10px; padding: 3px; border: 1px solid black }
pre.src:hover::before { display: inline }
pre.src-sh::before { content: "sh" }
pre.src-bash::before { content: "sh" }
pre.src-emacs-lisp::before { content: "Emacs Lisp" }
pre.src-R::before { content: "R" }
pre.src-perl::before { content: "Perl" }
pre.src-java::before { content: "Java" }
pre.src-sql::before { content: "SQL" }
table { border-collapse: collapse }
caption.t-above { caption-side: top }
caption.t-bottom { caption-side: bottom }
td,th { vertical-align: top }
th.org-right { text-align: center }
th.org-left { text-align: center }
th.org-center { text-align: center }
td.org-right { text-align: right }
td.org-left { text-align: left }
td.org-center { text-align: center }
dt { font-weight: bold }
.footpara { display: inline }
.footdef { margin-bottom: 1em }
.figure { padding: 1em }
.figure p { text-align: center }
.inlinetask { padding: 10px; border: 2px solid gray; margin: 10px; background: #ffffcc }
#org-div-home-and-up { text-align: right; font-size: 70%; white-space: nowrap }
textarea { }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00 }
.org-info-js_info-navigation { border-style: none }
#org-info-js_console-label { font-size: 10px; font-weight: bold; white-space: nowrap }
.org-info-js_search-highlight { background-color: #ffff00; color: #000000; font-weight: bold }

Bullet 的 CMake 编译流程

Table of Contents

  • linux 下基于 CMake 的编译流程

    • CMAKE 命令

      • 配置
      • pybullet 的一些配置
    • 编译用的 cmake 文件
      • BUILD_OPENGL3_DEMOS OFF
      • BUILD_BULLET2_DEMOS ON
      • BUILD_EXTRA ON
      • 源文件

linux 下基于 CMake 的编译流程

bullet 支持 linux、windows、mac、Android、iOS、BSD 等操作系统。 这里研究的版本是release 2.8.7 .

linux 下,执行

./build_cmake_pybullet_double.sh

CMAKE 命令

  • FILE (STRINGS "VERSION" BULLET_VERSION)

    将"VERSION"字符串保存到 BULLET_VERSION 中。

  • CMAKE_BUILD_TYPE 编译成 Debug 还是 Release.
  • SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
  • ADD_DEFINITIONS 添加编译参数,比如 add_definitions(-DDEBUG)将在 gcc 命令行添加 DEBUG 宏定义

配置

  • USE_DOUBLE_PRECISION 浮点计算的精度 OFF
  • USE_GRAPHICAL_BENCHMARK ON
  • BUILD_SHARED_LIBS 编译成动态链接库 OFF
  • USE_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD 软体多物体动态?OFF
  • BULLET2_USE_THREAD_LOCKS Build Bullet 2 libraries with mutex locking around certain operations (required for multi-threading) OFF
  • USE_CUSTOM_VECTOR_MATH 使用自定义的数学库 OFF

pybullet 的一些配置

编译用的 cmake 文件

以下是 option 选项。 每个目录下都有 cmakelist.txt。

BUILD_OPENGL3_DEMOS OFF

mac 系统下的 opengl demo. 目录在 Demos3 里面?

BUILD_BULLET2_DEMOS ON

编译 examples,目录在 examples 中。

BUILD_EXTRA ON

编译 extras,目录在 extras 中。

源文件

目录在src中。

Date: [2018-10-26 Fri 10:41]

Author: fhln

Created: 2018-10-26 Fri 13:16

Validate

原文地址:https://www.cnblogs.com/fhln/p/9855755.html

时间: 2024-10-05 09:58:06

Bullet 的 CMake 编译流程的相关文章

Windows下使用mingw+cmake编译C/C++程序

按照正常流程安装好mingw和cmake后,仍然是无法直接使用cmake编译处MakeFile文件的,我们需要在CMakeLists.txt中做一些配置. 首先,在PROJECT之前,设置: SET(CMAKE_C_COMPILER "D:/mingw64/bin/gcc.exe") SET(CMAKE_CXX_COMPILER "D:/mingw64/bin/g++.exe") 注意按实际安装情况更换gcc和g++的位置. 修改完后,使用cmake仍然会报错.这是

React Native Android Gradle 编译流程浅析

[工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 前面已经发车了一篇<React Native Android 从学车到补胎和成功发车经历>,接着就该好好琢磨一下 React Native 周边了,没看第一篇的可以先去看看:这里我们先从 React Native 的 Android 编译来简单揭晓一下 React Native 在集成的过程中到底干了哪些不可告人的坏事:由于我们项目准备以 Gradle 形式接入

CentOS6.7下使用cmake编译安装MySQL5.5.32笔记

一.安装cmake编译环境1.1 使用yum方式安装gcc [[email protected] ~]# yum install gcc 1.2 使用yum方式安装gcc-c++ [[email protected] ~]# yum install gcc-c++ 1.3 解压camke源文件 将cmake源文件放入/tmp/文件夹下 1 [[email protected] ~]# cd /tmp 2 [[email protected] ~]# tar -xf cmake-2.8.8.tar

编程经验:Cmake编译Opencv3.0&amp;extra model所遇到的种种问题~

前段时间调研一个算法,作者提供了源代码,很自豪的宣布源代码已经集成在了3.0中,于是我就开始了"苦逼"的配置之旅,结果遇到了N个bug,还好自己有截图的习惯,本文就说说我遇到的问题,以及如何解决部分问题. 1. opencv_contrib-master 这是Opencv3.0的额外模块,里面提供了诸如xfeatures2d等新模块,集成了近两年来提出的优秀算法,比如我之前研究的Latch特征,就集成在了这个extra module中,但最主要的是,这个模块中的代码支持Matlab混合

Linux命令:Mysql系列之二cmake编译安装使用mysqladmin管理工具

MySQL相关概念:MySQL是单进程多线程接收应用的请求. SQL/MySQL 1.事务,隔离,并发控制,锁 2.用户和权限 3.监控 STATUS 4.索引类型:查询 VARIABLES 5.备份和恢复 6.复制功能 7.集群 DML:数据操作语言 INSERT:插入 DELETE:删除 SELECT:挑选,选择,查询 UPDATE:更新,修改 DDL:数据定义语言 CREATE:创建 DROP:删除 ALTER:修改 DCL:数据控制语言 GRANT:授权 REVOKE:取消权限 MySQ

[转]一个CMake编译问题的解决过程

问题的提出 公司的一个power-pc平台的产品,有个协议进行了修改,过程中出现了比较奇怪的情况.直接将修改后的动态库下载到设备上(原始设备是有文件系统和其他的依赖文件的,相当于部分更新应用),设备和模拟器可以正常通讯: 如果将整个产品进行更新后,发现设备和模拟器通讯不正常. 实际的表象是这样的,其实是忽略了一个实际情况:老的应用使用之前的Makefile直接make编译而来,部分更新的时候,自己就是直接make生成进行的局部替换,而全部替换是使用后来自己加入的CMake的方式进行的.(这是问题

gcc编译流程

gcc的编译流程分为四个步骤,分别为: 预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking) 以hello.c为例子,在这四个步骤中可以设置选项分别生成hello.i, hello.s, hello.o以及最终的hello文件:     hello.c : 最初的源代码文件:      hello.i : 经过编译预处理的源代码,将会把#开头的文件进行处理,包括宏以及包含等等,使用gcc -E(大写)命令可以输出此文件查看(注意

CentOS下使用cmake编译安装mysql

一.下载安装所必需的依赖包 1.因为高版本mysql都用cmake安装,所以下载cmake wget http://www.cmake.org/files/v3.0/cmake-3.0.1.tar.gz tar zxvf cmake-3.0.1.tar.gz cd cmake-3.0.1 ./configure make && make install 2.下载其它包 wget http://ftp.gnu.org/gnu/bison/bison-3.0.2.tar.gz 安装同上 wge

用CMAKE编译配置的项目进行调试的方法

在Linux 下用CMAKE编译的项目进行Debug 需进行设置: 1.在未设置之前 进行调试可能会出现错误报告:No source available for ...等一系列错误,这些错误可能就是你想进行程序Debug,但又未进行设置导致的. 首先检查用CMAKE编译时:where is the source code : ...和where to build the binaries ...的目录是否是英文路径,我刚开始就是路径中包含中文,导致出现No source available ..