首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复Mujoco CmakeLists构建错误"/usr/bin/ld:无法找到-lglfw"?

如何修复Mujoco CmakeLists构建错误"/usr/bin/ld:无法找到-lglfw"?
EN

Stack Overflow用户
提问于 2019-04-10 08:47:01
回答 1查看 8.7K关注 0票数 1

我试图模拟一个在C++中使用Mujoco的机器人的物理特性。因为该项目是更大工作区的一部分,所以我需要使用cmake来构建可执行文件。但是,我似乎无法正确链接所有依赖库,因此无法消除错误:

代码语言:javascript
复制
~: /usr/bin/ld: cannot find -lglfw

我在网络上做了一些关于如何在CmakeLists中正确设置Mujoco的研究,并找到了一些例子这里这里这里

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

CmakeLists.txt

代码语言:javascript
复制
######################################################
# 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)

src/CmakeLists.txt

代码语言:javascript
复制
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)

有人知道为什么会这样吗?我是不是漏掉了这些例子中的什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-10 08:50:43

您应该找到GL/GLW包,而不是这个:target_link_libraries(${BIN_NAME} libglew.so libglfw.so.3 libglewegl.so libglewosmesa.so)。这并不能确保这些库是可用的,而且是可以找到的,而FIND_PACKAGE(GLEW)则是如此。

有关该主题的更多信息,请参见GLEW与CMake的连接

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55608358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档