2

我正在为学校建立一个开发环境。我们将使用 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

在我看来,我缺少一些依赖,但我无法终生弄清楚它是什么。我不知道-lXxf86vm是什么,Google 或我能找到的任何其他论坛也不知道。

有人有想法吗?

更新 1)这可能与我在这台笔记本电脑中有 Nvidia Optimus 卡这一事实有关。

我也尝试运行默认的 OpenGL 项目,但它引发了以下错误

main: X server has no OpenGL GLX extension

我将尝试安装 bumblebee 看看是否能帮到我

4

2 回答 2

9

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

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

只需安装包“libxxf86vm-dev”,

更新 1)这可能与我在这台笔记本电脑中有 Nvidia Optimus 卡这一事实有关。

不,这不是缺少这个特定库的原因

我也尝试运行默认的 OpenGL 项目,但它引发了以下错误

好吧,你还没有正确安装 NVidia-Drivers。

于 2012-08-29T23:04:23.230 回答
4

CodeBlocks 总是将“Xxf86vm”添加到新的 GLUT 项目中。我不知道它是什么,或者为什么 CodeBlocks 添加它,(非常烦人的错误?)但你几乎肯定不需要它!

您可以在以下位置找到它:项目 -> 构建选项... -> 链接器设置。
在左侧窗格中选择您的项目名称,它应该出现在:“链接库”下。
现在,只需将其从列表中删除即可。没有它,您的代码应该可以正常编译和运行。

于 2012-12-13T17:29:44.510 回答