在没有 openGL 的情况下使用 Qt

Posted

技术标签:

【中文标题】在没有 openGL 的情况下使用 Qt【英文标题】:Using Qt without openGL 【发布时间】:2013-09-13 19:54:50 【问题描述】:

我在 Ubuntu 上安装了 Qt,当我尝试编译一个项目时,它报告错误:找不到 -lGL。但是我在安装 openGL 库时遇到问题,所以我想知道是否可以,以某种方式将该库排除在链接之外......

【问题讨论】:

如果您尝试安装 OpenGL 开发文件,究竟是什么问题?在 Ubuntu 上就像执行 sudo apt-get install libgl1-mesa-dev 一样简单 我做了 sudo apt-get install libgl1-mesa-dev,但问题是在我安装它之后,我的 Ubuntu 冻结了,当我下次启动它时它在启动时停止。然后我重新安装了 Ubuntu,并在安装 openGL 后再次冻结并且无法再次启动......我在 VirtualBox 上运行它。 Qt 版本为 5。 您是在问“如何从链接器标志中删除-lGl”?所有的 cmets 都是关于如何满足您不需要的依赖项,或者如何删除链接到库的能力。 【参考方案1】:

在 Ubuntu 上安装 Qt --> 如何..?哪个版本?你配置了吗?您可以在安装时配置它,如果您不想要 OpenGL,您可以提供选项

-no-opengl

当我尝试编译项目时,它报告错误:找不到 -lGL --> 但是如果您的项目需要 OpenGL,那么“No OpenGL”的意义何在>”?您应该安装 OGL 开发库(请参阅 datenwolf 的评论),以便您可以处理该项目。

【讨论】:

您通常从 Linux 中的包管理器安装库。 Qt -no-opengl 是一个构建选项,通常只在 Windows 中使用,默认情况下对 OpenGL 的支持很差。在 Linux 上,如果安装了图形系统,OpenGL 通常总是可用的。 OP只是漏掉了opengl开发库,其实应该是Qt开发包的依赖,即使用包管理器安装时应该和Qt开发包一起自动安装。 这是我尝试安装 OpenGL 时得到的结果:libgl1-mesa-dev :取决于:mesa-common-dev (= 8.0.4-0ubuntu0.6) 或 mesa-common-dev-lts -quantal 但它不会被安装或 mesa-common-dev-lts-raring 但它不可安装 E: 无法纠正问题,您持有损坏的软件包。 之后我安装了 messa-common-dev 和其他一些依赖项,但是我的 Ubuntu 崩溃了,我无法再次启动它。我在 VirtualBox 上运行它... @AleksaStancetic 您可以在没有 opengl 的情况下使用 Qt,但要安装它(通过手动构建或直接安装程序),您将需要 opengl。崩溃的确切原因可能会有很大差异,您也在 VirtualBox 上运行它,因为您可能知道 VM 是如何工作的,它实际上与主机操作系统通信以从硬件获取实际服务。这是一个快速链接——askubuntu.com/questions/162075/…,它试图介绍如何解决您的崩溃问题 @datenwolf 如果有人想走不寻常的路,这是可能的。他的问题是他可以在没有 opengl 的情况下使用 Qt .. 答案是肯定的! (尽管安装它是必需的)。我认为是否使用 opengl 完全取决于将要使用哪种应用程序,而不是在 windows/linux 上。我仍然想要一个链接或说明你平时的东西!

以上是关于在没有 openGL 的情况下使用 Qt的主要内容,如果未能解决你的问题,请参考以下文章

在没有 XCode 的情况下使用 CGL/NSOpenGL 在 OSX 上使用 OpenGL 的 C++ 代码?

OpenGL 实践——在没有核心版本的情况下运行 OpenGL

在没有加载库的情况下加载 opengl 函数时出错

OpenGL - 在没有 NV_gpu_shader5 的情况下访问 glMultiDrawElementsIndirect 内的无绑定纹理

在没有 Windows.h 的情况下制作 OpenGL 应用程序

OpenGL在没有或有静态设备上下文的情况下加载纹理?