Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复Mujoco CmakeLists构建错误”/usr/bin/ld:找不到-lglfw";? 我试图用C++模拟Mujoco的机器人物理学。因为项目是更大工作空间的一部分,所以我需要使用cmake来构建可执行文件。但是,我似乎无法正确链接所有从属库,因此无法消除错误: ~: /usr/bin/ld: cannot find -lglfw_C++_Cmake_Shared Libraries_Simulator_Robotics - Fatal编程技术网

如何修复Mujoco CmakeLists构建错误”/usr/bin/ld:找不到-lglfw";? 我试图用C++模拟Mujoco的机器人物理学。因为项目是更大工作空间的一部分,所以我需要使用cmake来构建可执行文件。但是,我似乎无法正确链接所有从属库,因此无法消除错误: ~: /usr/bin/ld: cannot find -lglfw

如何修复Mujoco CmakeLists构建错误”/usr/bin/ld:找不到-lglfw";? 我试图用C++模拟Mujoco的机器人物理学。因为项目是更大工作空间的一部分,所以我需要使用cmake来构建可执行文件。但是,我似乎无法正确链接所有从属库,因此无法消除错误: ~: /usr/bin/ld: cannot find -lglfw,c++,cmake,shared-libraries,simulator,robotics,C++,Cmake,Shared Libraries,Simulator,Robotics,我在网上做了一些关于如何在CmakeLists中正确设置Mujoco的研究,并找到了一些示例,以及 我复制了上面示例中的CmakeLists文件,但错误仍然存在。以下是我的文件中的相关片段。我定义了一个环境变量MUJOCO_PATH来指向我机器上的MUJOCO文件夹。具体来说,$HOME/.mujoco/mujoco200 CmakeLists.txt ###################################################### # define the incl

我在网上做了一些关于如何在CmakeLists中正确设置Mujoco的研究,并找到了一些示例,以及

我复制了上面示例中的CmakeLists文件,但错误仍然存在。以下是我的文件中的相关片段。我定义了一个环境变量
MUJOCO_PATH
来指向我机器上的MUJOCO文件夹。具体来说,
$HOME/.mujoco/mujoco200

CmakeLists.txt

######################################################
# define the include directory of all ${CATKIN_PKGS} #
######################################################
include_directories(
    ${PROJECT_SOURCE_DIR}/include
    ${catkin_INCLUDE_DIRS}
    ${Eigen_INCLUDE_DIRS}
    $ENV{MUJOCO_PATH}/include
)

########################################################
# manage the creation of the libraries and executables #
########################################################
set(USE_GL 1)

link_directories($ENV{MUJOCO_PATH}/bin)

#Finding main mujoco library
if(${USE_GL})
    file(GLOB LIB_MUJOCO $ENV{MUJOCO_PATH}/bin/libmujoco[0-9][0-9][0-9].so)
else()
    file(GLOB LIB_MUJOCO $ENV{MUJOCO_PATH}/bin/libmujoco[0-9][0-9][0-9]nogl.so)
endif()
#Showing mujoco library found
message(STATUS "MuJoCo lib: " ${LIB_MUJOCO})

add_subdirectory(src)
set(BIN_NAME mujoco_finger_test)

add_executable(${BIN_NAME} ${BIN_NAME}.cpp)
target_link_libraries(${BIN_NAME} ${LIB_MUJOCO})

# Standard libraries for GL
target_link_libraries(${BIN_NAME} GL GLU glut )

# Additional libraries from mujoco package
target_link_libraries(${BIN_NAME} libglew.so libglfw.so.3 libglewegl.so libglewosmesa.so)
src/CmakeLists.txt

######################################################
# define the include directory of all ${CATKIN_PKGS} #
######################################################
include_directories(
    ${PROJECT_SOURCE_DIR}/include
    ${catkin_INCLUDE_DIRS}
    ${Eigen_INCLUDE_DIRS}
    $ENV{MUJOCO_PATH}/include
)

########################################################
# manage the creation of the libraries and executables #
########################################################
set(USE_GL 1)

link_directories($ENV{MUJOCO_PATH}/bin)

#Finding main mujoco library
if(${USE_GL})
    file(GLOB LIB_MUJOCO $ENV{MUJOCO_PATH}/bin/libmujoco[0-9][0-9][0-9].so)
else()
    file(GLOB LIB_MUJOCO $ENV{MUJOCO_PATH}/bin/libmujoco[0-9][0-9][0-9]nogl.so)
endif()
#Showing mujoco library found
message(STATUS "MuJoCo lib: " ${LIB_MUJOCO})

add_subdirectory(src)
set(BIN_NAME mujoco_finger_test)

add_executable(${BIN_NAME} ${BIN_NAME}.cpp)
target_link_libraries(${BIN_NAME} ${LIB_MUJOCO})

# Standard libraries for GL
target_link_libraries(${BIN_NAME} GL GLU glut )

# Additional libraries from mujoco package
target_link_libraries(${BIN_NAME} libglew.so libglfw.so.3 libglewegl.so libglewosmesa.so)
有人知道为什么会这样吗?我是否在这些例子中遗漏了什么


谢谢

您应该找到GL/GLW包,而不是:
目标链接库(${BIN\u NAME}libglew.so libglfw.so.3 libglewegl.so libglewosmesa.so)
。这并不能确保这些库可用且可以找到,而
FIND_包(GLEW)

有关此主题的更多信息,请参阅