2016-06-23 79 views
1

我想要编译Qscintilla 2.9.2在Ubuntu上使用Qt 5.7 16.04 64位得到了以下错误消息:编译QScintilla在Ubuntu上失败

-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是什么,在哪里找到它。我该如何解决这个问题?

回答

2

根据我的经验,此故障排除过程,就足以解决在编译过程中缺少库问题的约90%:

  1. “-l [名]”意味着有一个“LIB [名]。所以”

  2. 在系统中搜索“lib [name]”(使用locate或find)。

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

  3. 执行存储库搜索“lib [name]”(使用apt,yum,synaptic,& c。)。

    如果它丢失,请安装它。

  4. 在google或专用包搜索网站(如RPMFind或packages.ubuntu.com)中键入“lib [name] .so”并查看包名,然后在#2-3中搜索。

在这种情况下,libGL是OpenGL的实现。你可以安装Mesa或找到一个替代实现(我只用过Mesa的Qt)。 Here's a list of packages that provide libGL;如果您的系统上已经安装了这些软件之一,请尝试获取您已有的软件版本。