You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMakeLists.txt中引入无Config.cmake的MuJoCo库及解决依赖问题

解决CMake引入MuJoCo时找不到mujocoTargets.cmake的问题

问题根源

你编译MuJoCo后,build根目录下的mujocoConfig.cmake是为安装后路径准备的,它默认会去标准安装目录查找mujocoTargets.cmake,而非build目录里CMakeFiles/Export/lib/cmake/mujoco下的临时导出文件,这就是报错的核心原因。

解决方案一:标准安装MuJoCo(推荐)

通过make install将MuJoCo安装到系统或自定义路径,让CMake能自动识别正确的配置文件:

  1. 重新编译并安装MuJoCo:
    cd mujoco
    mkdir build && cd build
    # 可选:指定自定义安装路径,比如~/mujoco_install
    cmake .. -DCMAKE_INSTALL_PREFIX=~/mujoco_install
    make -j$(nproc)
    make install
    
  2. 在你的项目CMakeLists.txt中指定安装路径下的配置目录:
    # 替换成你的安装路径对应的cmake目录
    set(mujoco_DIR "~/mujoco_install/lib/cmake/mujoco")
    find_package(mujoco REQUIRED)
    
    # 将MuJoCo库链接到你的项目目标
    add_executable(your_app main.cpp)
    target_link_libraries(your_app PRIVATE mujoco::mujoco)
    

解决方案二:直接使用build目录的临时导出文件

如果不想执行安装步骤,直接用编译后的build文件,需要把mujoco_DIR指向包含mujocoTargets.cmake的具体子目录,而非build根目录:

# 注意:路径要精确到导出targets的目录,不是build根目录
set(mujoco_DIR "/mujoco/build/CMakeFiles/Export/lib/cmake/mujoco")
find_package(mujoco REQUIRED)

# 链接MuJoCo库到项目
add_executable(your_app main.cpp)
target_link_libraries(your_app PRIVATE mujoco::mujoco)

补充:关于mujocoConfig.cmake.in的作用

仓库里的mujocoConfig.cmake.in是CMake配置模板文件,不需要你手动修改或调用——当你编译MuJoCo源码时,CMake会自动基于这个模板生成最终的mujocoConfig.cmake文件(包括build目录下的临时版本和安装后的正式版本)。

内容的提问来源于stack exchange,提问作者Ant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:24:21