一些废话
笔者因为需要模拟仿真环境,但是没有找到合适的C++软件平台所以一直很苦恼,本来是想自己从头写一个物理引擎但是由于实在是东西太多了于是写了一半开始找库(后悔当初选了自己写这条路)。然后非常幸运的是找到了ODE这么一个C++开源的仿真环境于是有可以开心地搞事情了~
环境
Ubuntu 20.04
CMake 3.16.3
GCC 10.3
安装
从官网下载源码拿(这里最新的版本ODE 0.16.2来做例子),解压到自己喜欢的文件夹下。然后按照下面的流程一步步走,就是最简单的安装方法,然后就可以使用了。
cd ode-0.16.2
./configure
make
make install
这里下面的的两步是设置在target_link_library中的名称,要注意的是用ODE_LIBRARY_DIR放到link_directories中是不行的,虽然能找到库的路径但是不能链接
pkg-config ode --cflags
pkg-config ode --libs
链接
CMakeLists.txt如下(注意顺序不能混)
find_package(ODE REQUIRED)
include_directories(${ODE_INCLUDE_DIRS})
...
add_executable(...)
...
target_link_libraries(... ode)
ODE安装包中内置的可视化虚拟环境Drawstuff
Drawstuff已经包含在ODE的安装包中,但是这只是一个比较简单的界面,如果不是很复杂的仿真完全是可以使用的,不用自己再从opengl重新写了。具体使用方法请参考这个博客这里安装有一个地方写错了,在拷贝静态库文件的时候应该使用下面的命令,不过应该是笔误,他拷贝路径写错了。
sudo mkdir /usr/include/drawstuff
sudo cp ./include/drawstuff/drawstuff.h ./include/drawstuff/version.h /usr/include/drawstuff
sudo cp ./drawstuff/src/.libs/libdrawstuff.a ./drawstuff/src/.libs/libdrawstuff.la /usr/lib
sudo ldconfig
另外一个官方推荐的ODE引擎教程链接在此,各位可以参考