Mujoco 的入门步骤:缺少具有 Simulate.cpp 的共享库

Getting started steps with Mujoco: Missing shared libraries with Simulate.cpp

本文关键字:Simulate 共享 cpp Mujoco      更新时间:2023-10-16

我正在尝试从 ubuntu 17.04(最新版本(安装 Mujoco(但没有成功(。

说明网站 : 入门

版本: mjpro150 Linux 和/或 mjpro140 Linux

我已经有了许可证。

按照以下步骤操作:

将带有激活密钥的 mjkey.txt 放在 bin = ok 上

运行模拟.cpp =错误

情况:

目录

wil@Ophelia:~/Documents/mjpro150/bin$ ls
basic       libglewegl.so     libglfw.so.3         mjkey.txt  test
compile     libglewosmesa.so  libmujoco150nogl.so  record
derivative  libglew.so        libmujoco150.so      simulate

路径

wil@Ophelia:~/Documents/mjpro150/bin$ pwd
/home/wil/Documents/mjpro150/bin
wil@Ophelia:~/Documents/mjpro150/bin$ LD_LIBRARY_PATH=/home/wil/Documents/mjpro150/bin
wil@Ophelia:~/Documents/mjpro150/bin$ echo $LD_LIBRARY_PATH
/home/wil/Documents/mjpro150/bin

Mujoco的命令步骤和错误

wil@Ophelia:~/Documents/mjpro150/bin$ ./simulate
./simulate: error while loading shared libraries: libmujoco150.so: cannot open shared object file: No such file or directory
wil@Ophelia:~/Documents/mjpro150/bin$ ./simulate.cpp
bash: ./simulate.cpp: No such file or directory
wil@Ophelia:~/Documents/mjpro150/bin$ ./simulate ../model/humanoid.xml
./simulate: error while loading shared libraries: libmujoco150.so: cannot open shared object file: No such file or directory

正在尝试编译?!(入门之外(

wil@Ophelia:~/Documents/mjpro150/bin$ gcc simulate -o -prog
simulate:(.rodata+0x0): multiple definition of `_IO_stdin_used'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o:(.rodata.cst4+0x0): first defined here
simulate: In function `data_start':
(.data+0x8): multiple definition of `__dso_handle'
/usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o:(.data.rel.local+0x0): first defined here
simulate: In function `_fini':
(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o:(.fini+0x0): first defined here
simulate: In function `_start':
(.text+0x235): multiple definition of `_start'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o:(.text+0x0): first defined here
simulate: In function `_init':
(.init+0x0): multiple definition of `_init'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o:(.init+0x0): first defined here
simulate: In function `data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o:(.data+0x0): first defined here
/usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o:(.tm_clone_table+0x0): multiple definition of `__TMC_END__'
simulate:(.data+0x28): first defined here
/usr/bin/ld: error in simulate(.eh_frame); no .eh_frame_hdr table will be created.
collect2: error: ld returned 1 exit status

问题:有人知道我是如何进行的吗?

尝试运行

LD_LIBRARY_PATH=. ./simulate ../model/humanoid.xml

作为一个整体(即在按 Enter in Shell 之前将所有这些字符粘贴在同一行中(作为 PWDbin或者至少

export LD_LIBRARY_PATH=/home/wil/Documents/mjpro150/bin

在打电话之前./simulate.您必须导出一个环境变量,使其对从(相同(shell 启动的另一个程序可见。