如何在CMake项目中使用Mujoco?

s4n0splo  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(90)

我已经将Mujoco安装到/opt/mujoco中。
当我构建一个依赖于Mujoco的项目时,我在CMakeList.txt中做了以下更改:

set(MUJOCO_FOLDER /opt/mujoco/lib/cmake)
find_package(mujoco 2.3.7 REQUIRED PATHS ${MUJOCO_FOLDER} NO_DEFAULT_PATH)
if (mujoco_FOUND)
    message(STATUS "Find mujoco:  ${mujoco_INCLUDE_DIRS}, ${mujoco_LIBRARIES}")
endif()

字符串
可以找到Mujoco,消息也会在终端中打印出来,但是变量${mujoco_INCLUDE_DIRS}${mujoco_LIBRARIES}是空的。
我已经删除了build文件夹,并多次删除cmake命令,但上述变量仍然是空的。
此外,我检查了this link后面的CMakeCache.txtMUJOCO_DIR:PATH正确地指向了所需的路径。
有什么问题吗?

3z6pesqy

3z6pesqy1#

Mujoco生成一个配置文件包,而不是一个find-module包。
因此,它不会将任何变量设置为find_package调用的一部分,而是提供一个导入的目标供您的可执行文件依赖:

set(MUJOCO_FOLDER /opt/mujoco/lib/cmake)
find_package(mujoco 2.3.7 REQUIRED PATHS ${MUJOCO_FOLDER} NO_DEFAULT_PATH)

add_executable(my_app)
# ...
target_link_libraries(my_app PUBLIC mujoco::mujoco)

字符串

相关问题