Mujoco2.1.4官方sample在windows下编译测试

2022-04-13  本文已影响0人  望江樵夫

MuJoCo是一种物理引擎,旨在促进机器人、生物力学、图形和动画以及其他需要快速准确模拟的领域的研究和开发。

【下载· deepmind/mujoco】

【下载· glfw/glfw】

【改好的在这里:mujoco-2.1.4-windows-x86_64(改)】

官方发布的mujoco2.1.4版本中bin文件夹中缺少compile应用,另外sample文件夹下的Makefile有错误,这里进行了修复可直接使用,具体修改内容及方法可参考:

sample目录操作

1、按照Makefile文件头部描述将glfw相关文件拷贝到mujoco对应的目录中,具体描述如下:

# A copy of the GLFW library is required to build some sample programs.
# If this is not already installed on your system, download the WIN64 archive
# from https://github.com/glfw/glfw/releases, and copy files as follows:
# - Copy the entire `include/GLFW` subdirectory to `mujoco/include/GLFW`.
# - Copy glfw3dll.lib from the subdirectory corresponding into your compiler
#   choice to `mujoco/lib/glfw3.lib`.
# - Copy glfw3.dll from the same subdirectory into `mujoco/bin/glfw3.dll`.

这里主要的问题是,在windows下应当使用“glfw3dll.lib”,源代码的Makefile中使用了“glfw3.lib”,链接时会出错!
错误描述:LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

2、修改Makefile文件内容如下

COMMON=/O2 /MT /EHsc /arch:AVX /I../include /Fe../bin/

all:
    cl $(COMMON) testxml.cc                 ../lib/mujoco.lib
    cl $(COMMON) testspeed.cc               ../lib/mujoco.lib
    cl $(COMMON) compile.cc                 ../lib/mujoco.lib
    cl $(COMMON) derivative.cc /openmp      ../lib/mujoco.lib
    cl $(COMMON) basic.cc ../lib/glfw3dll.lib  ../lib/mujoco.lib
    cl $(COMMON) record.cc ../lib/glfw3dll.lib ../lib/mujoco.lib
    cl $(COMMON) simulate.cc uitools.c ../lib/glfw3dll.lib ../lib/mujoco.lib
    del *.obj

编译生成

默认编译生成的sample会覆盖bin目录下的文件,请谨慎操作

编译工具使用:

mingw(使用mingw32-make)或微软MSVC(使用nmake),本文使用MSVC

MSVC使用注意事项

1、需要安装MSVC Tools、windows10 SDK;
2、环境变量配置:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\

添加cl.exe环境变量

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt;

MSVC的INCLUDE

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;

MSVC的LIB
上一篇下一篇

猜你喜欢

热点阅读