在 Ubuntu 上编译 QScintilla 失败

Compiling QScintilla on Ubuntu Fails

我正在尝试使用 Qt 5.7 在 Ubuntu 16.04 64 位上编译 Qscintilla 2.9.2,但收到以下错误消息:

-L/home/mwambi/Qt5.7.0/5.7/gcc_64/lib -lQt5PrintSupport -L/usr/lib64 -lQt5Widgets -lQt5Gui -lQt5Core -lpthread -lGL  
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
Makefile:979: recipe for target 'libqscintilla2.so.12.0.1' failed
make: *** [libqscintilla2.so.12.0.1] Error 1

我不知道 GL 库是什么以及在哪里可以找到它。我该如何解决?

根据我的经验,这个故障排除过程足以解决大约 90% 的编译过程中丢失库的问题:

  1. "-l[name]" 表示有一个 "lib[name].so"

  2. 在您的系统中搜索 "lib[name]"(使用定位或查找)。

    如果您在系统上找到它,请检查路径($LB_LIBRARY_PATH 和构建系统的 -L 标志)并验证架构是否匹配(x86+64 与 i686)。

  3. 对 "lib[name]" 进行存储库搜索(使用 apt、yum、synaptic 等)。

    如果缺少请安装它。

  4. 将 "lib[name].so" 键入 google 或专用的包搜索站点(如 RPMFind 或 packages.ubuntu.com),然后查看出现的包名称,然后搜索如#2-3.

在这种情况下,libGL 是 OpenGL 的一个实现。您可以安装 Mesa 或找到替代实现(我只将 Qt 与 Mesa 一起使用)。 Here's a list of packages that provide libGL;如果您已经在您的系统上安装了其中一个,请尝试获取您已经拥有的任何一个的开发版本。