OpenGL代码设置::块“;找不到-lXxf86vm“;

OpenGL代码设置::块“;找不到-lXxf86vm“;,opengl,glut,codeblocks,freeglut,Opengl,Glut,Codeblocks,Freeglut,我正在为学校建立一个开发环境。我们将使用GLUT进行图形编程。我在Ubuntu上安装了freeglut,使用 sudo apt-get install freeglut3-dev 我将使用code::blocks来编写所有内容(根据讲师的规范),但是当我尝试在code::blocks中构建默认的GLUT项目时,我得到了以下结果 Compiling: main.cpp Linking console executable: bin/Debug/glut_test /usr/bin/ld: ca

我正在为学校建立一个开发环境。我们将使用GLUT进行图形编程。我在Ubuntu上安装了freeglut,使用

sudo apt-get install freeglut3-dev
我将使用code::blocks来编写所有内容(根据讲师的规范),但是当我尝试在code::blocks中构建默认的GLUT项目时,我得到了以下结果

Compiling: main.cpp 
Linking console executable: bin/Debug/glut_test
/usr/bin/ld: cannot find -lXxf86vm
collect2: ld returned 1 exit status
在我看来,我缺少了一些依赖性,但我一辈子都搞不清楚它是什么。我不知道什么是-lxf86vm,也不知道谷歌或我能找到的任何其他论坛

有人有想法吗

更新1)这可能与我的笔记本电脑中有一张Nvidia Optimus卡有关

我也尝试运行默认的OpenGL项目,它抛出了以下错误

main: X server has no OpenGL GLX extension
我将尝试安装大黄蜂,看看这是否能让我有所收获

我不知道-lXxf86vm是什么,也不知道谷歌或我能找到的任何其他论坛

此库为XF86VidModeSwitch扩展提供API。XF86VidMode已经被XRandR取代,但freeglut可能需要它来支持游戏模式

只需安装程序包“libxxf86vmdev”

更新1)这可能与我的笔记本电脑中有一张Nvidia Optimus卡有关

不,这不是这个图书馆丢失的原因

我也尝试运行默认的OpenGL项目,它抛出了以下错误

main: X server has no OpenGL GLX extension
嗯,您没有正确安装NVidia驱动程序。

代码块总是将“Xxf86vm”添加到新的GLUT项目中。 我不知道它是什么,也不知道为什么CodeBlocks会添加它(非常讨厌的bug?)

您可以在下面找到它:项目->构建选项…->链接器设置。
在左窗格中选择您的项目名称,它应显示在“链接库”下。

现在,只需将其从列表中删除即可。您的代码在没有它的情况下应该可以编译和运行。

谢谢您的帮助-我已经将它作为一个bug报告给code::Blocks,因为我很确定这是不需要的。lXx86vm已被弃用,取而代之的是XRandR,因此大多数系统都不支持lXx86vm。使用Vulkan也有同样的问题。不确定是否真的需要它-只是跟随。没有它,测试程序似乎构建得很好。但仍在链接
-lXrandr
@ワイきんぐ Vulkan是窗口系统不可知论者。如果有什么区别的话,可能是窗口化框架(GLFW或类似的)具有这种依赖性。