【问题标题】:I got an "cannot find -lOpenGL::OpenGL" error when make install partiomake install partio 时出现“找不到 -lOpenGL::OpenGL”错误
【发布时间】:2021-01-15 09:30:15
【问题描述】:

当我安装 partio 时,它显示以下错误消息

/usr/bin/ld: cannot find -lOpenGL::OpenGL
collect2: error: ld returned 1 exit status
src/tools/CMakeFiles/partview.dir/build.make:91: recipe for target 'src/tools/partview' failed
make[2]: *** [src/tools/partview] Error 1
CMakeFiles/Makefile2:967: recipe for target 'src/tools/CMakeFiles/partview.dir/all' failed
make[1]: *** [src/tools/CMakeFiles/partview.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

当我搜索互联网时,我几乎看不到任何关于 -lOpenGL::OpenGL 的信息。我见过 OpenGL::GLU 或 GL。但我还没有看到 OpenGL::OpenGL。所以我不知道如何解决这个问题。

我使用的 cmake 版本正好是 3.15.0。 有什么解决办法吗?任何事情都会有所帮助。

【问题讨论】:

  • 该目标由FindOpenGL.cmake 提供。请参阅页面底部的注释。你能检查每个变量的内容吗?您的系统使用什么 OpenGL 实现?

标签: c++ opengl graphics


【解决方案1】:

欢迎来到 Stack Overflow!

您要查找的库名为 libGL.so,而不是 libOpenGL.so 或类似名称。要链接它,请将-lGL 添加到您的命令行并删除命令行上对OpenGL::OpenGL 的引用。 (如果您仍然遇到问题,请向我们展示您的整个构建命令行。)

也就是说,OpenGL 是一个基于 C 的库,因此不会在其中找到像 OpenGL::OpenGL 这样的 C++ 构造(可能是类的构造函数)。或者这可能是对 CMake 的引用,在这种情况下,我的答案需要做出重大改变。

【讨论】:

  • OpenGL::OpenGL 是一个有效的 Cmake 目标;它与 C++ 无关。请参阅我的评论。
  • @Botje:是的(因此是我回答的最后一句话)。 OP 中没有指示 CMake 是否正在使用。
  • 错误输出中的CMakeFiles 泄露给我,但很容易错过。
猜你喜欢
  • 2016-06-07
  • 2018-04-18
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 2023-01-30
  • 2014-05-25
相关资源
最近更新 更多