我正在将我的应用程序从Qt4移植到Qt5。我从Linux Mint 16 64位上的在线安装程序在我的MacBook Pro上的vm中安装了Qt5.2.1。当我在Qt Creator中运行qmake并构建时,我得到:
/usr/bin/ld: cannot find -lGL
我需要openGL吗?当我在Windows或OSX上构建时,我不会使用它。我对Linux很陌生,在C++或Qt方面还远远不是专家。我发现了一篇帖子,其中包括从mkspecs/common/linux.conf中删除-lGL的破解。
我的问题是,假设我不需要-lGL,那么阻止链接器尝试链接它的正常方法是什么?我想我在.pro文件中做了一些事情,但什么?
Qt5在内部大量使用OpenGL。在Windows上,OpenGL支持有点不稳定(您必须安装原始的供应商驱动程序,因为Microsoft从自动安装的驱动程序中删除了OpenGL),因此使用了内置的OpenGL仿真层库。
然而,在Linux上OpenGL的支持要好得多。如果GPU不受标准驱动程序的支持,您将至少找到Mesa软管道后端。如果GPU被支持,那么在过去的几年里,Linux中开箱即用的OpenGL支持已经变得非常好了。
在MacOS X上,OpenGL实际上是所有高级图形操作的基础,因此也是操作系统内部工作的一部分;理论上听起来不错,但也是快速版本转换的主要障碍,因为每个主要的OpenGL版本升级都需要更新操作系统。
现在,除非您的Linux安装严重过时,否则您实际上应该安装OpenGL库。如果没有(链接器错误告诉你这一点),只需安装Mesa开发包。
Linux Mint是Ubuntu的衍生版本,而Ubuntu又是Debian的衍生版本。为OpenGL安装Mesa开发包的命令是
sudo apt-get install libgl1-mesa-dev