use*_*363 2 opengl glut codeblocks freeglut
我正在为学校建立一个开发环境。我们将使用 GLUT 进行图形编程。我在 Ubuntu 上安装了 freeglut 使用
sudo apt-get install freeglut3-dev
Run Code Online (Sandbox Code Playgroud)
我将使用 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
Run Code Online (Sandbox Code Playgroud)
在我看来,我缺少一些依赖,但我终其一生都无法弄清楚它是什么。我不知道-lXxf86vm是什么,Google 或我能找到的任何其他论坛也不知道。
有没有人有想法?
更新 1) 这可能与我在这台笔记本电脑中有一块 Nvidia Optimus 卡的事实有关。
我也尝试运行默认的 OpenGL 项目,但它抛出以下错误
main: X server has no OpenGL GLX extension
Run Code Online (Sandbox Code Playgroud)
我将尝试安装大黄蜂,看看它是否能让我在任何地方
我不知道 -lXxf86vm 是什么,Google 或我能找到的任何其他论坛也不知道。
这个库为 XF86VidModeSwitch 扩展提供了一个 API。XF86VidMode 已被 XRandR 取代,但 freeglut 可能需要它来支持游戏模式。
只需安装包“libxxf86vm-dev”,
更新 1) 这可能与我在这台笔记本电脑中有一块 Nvidia Optimus 卡的事实有关。
不,这不是这个特定库丢失的原因
我也尝试运行默认的 OpenGL 项目,但它抛出以下错误
好吧,您没有正确安装 NVidia 驱动程序。
小智 5
CodeBlocks 总是将“Xxf86vm”添加到新的 GLUT 项目中。我不知道它是什么,也不知道为什么 CodeBlocks 添加它,(非常烦人的错误?)但你几乎肯定不需要它!
您可以在以下位置找到它:项目 -> 构建选项... -> 链接器设置。
在左侧窗格中选择您的项目名称,它应该显示在:“链接库”下。
现在,只需将其从列表中删除即可。如果没有它,您的代码应该可以正常编译和运行。