【问题标题】:Qt debian/ubuntu: Can't compile, error: cannot find -lGLQt debian/ubuntu:无法编译,错误:找不到-lGL
【发布时间】:2014-01-13 13:41:22
【问题描述】:
我在 Debian 上使用 Qt 构建应用程序时遇到问题。
当我尝试编译我得到的任何东西时:
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: *** [test] Error 1
14:38:52: Proces "/usr/bin/make" zakończył się kodem wyjściowym 2.
最后一行表示:Procces(...) exited with code:2
知道有什么问题吗?
【问题讨论】:
标签:
c++
qt
opengl
debian
qtgui
【解决方案1】:
由于这是一个链接器错误,您可能会遇到以下两个问题之一:
- 您没有安装 libGL
- libGL 已安装,但不在您的系统路径中。
如果没有安装libGL,你可以安装它:
sudo apt-get install libgl1-mesa-dev
我认为是正确的包装。我手边没有debian机器,所以无法测试。
如果你安装了这个包,你需要把它添加到你的系统路径中。您需要将其附加到环境变量LD_LIBRARY_PATH 或在/etc/ld.so.conf.d/ 中创建一个.conf 文件。
同样,我没有 debian 机器来验证这些路径,但这是我能从记忆中做的最好的事情。无论哪种方式,这应该是足够的信息开始。
祝你好运!
【解决方案2】:
您需要将相关软件包安装到您的路径中才能链接它。只有正确的标题是不够的,因为这只会让你通过编译,而不是链接阶段。
只需使用您的包管理器,因为默认情况下它会将您全部置于正确的路径中:
sudo apt-get install libgl1-mesa-dev
另外,请注意,一般情况下,如果您也没有安装头文件,只需摆脱应用程序中的依赖项,因为这意味着您并不真正依赖于库,只是形式上的。