我正在为学校建立一个开发环境。我们将使用GLUT进行图形编程。我使用
在Ubuntu上安装了freeglutsudo 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 是什么,谷歌或我能找到的任何其他论坛也不知道。
有没有人有想法?
更新1)这可能与我在这台笔记本电脑上安装了Nvidia Optimus卡这一事实有关。
我也试过运行默认的OpenGL项目,它抛出了以下错误
main: X server has no OpenGL GLX extension
我要尝试安装大黄蜂,看看是否能让我随处可见
答案 0 :(得分:4)
我不知道-lXxf86vm是什么,也不知道谷歌或我能找到的任何其他论坛。
此库为XF86VidModeSwitch扩展提供API。 XF86VidMode已被XRandR取代,但freeglut可能需要它来支持游戏模式。
只需安装软件包“libxxf86vm-dev”,
即可更新1)这可能与我在这台笔记本电脑上安装了Nvidia Optimus卡这一事实有关。
不,这不是这个特定库缺失的原因
我也试过运行默认的OpenGL项目,它抛出了以下错误
嗯,您还没有正确安装NVidia-Drivers。
答案 1 :(得分:4)
CodeBlocks总是将“Xxf86vm”添加到新的GLUT项目中。 我不知道它是什么,或CodeBlocks为什么添加它,(非常讨厌的bug?)但你几乎肯定不需要它!
您可以在以下位置找到它:项目 - >构建选项...... - >链接器设置。
在左窗格中选择项目名称,它应显示在“链接库”下
现在,只需从列表中删除它。你的代码应该编译并在没有它的情况下正常运行。