在 Ubuntu (9.04) 下编译和运行基于 GLFW 的 C 程序时,尝试打开窗口时失败(编译正常,安装了最新的 GLFW)。我尝试了不同的分辨率,低至 300x300,并将位深度保留为零,希望默认设置能够流行起来。
相关代码片段如下(直接从我的主文件顶部截取,基于示例文件 gears.c
):
// File: main.c
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <GL/glfw.h>
#ifndef PI
#define PI 3.141592654
#endif
int main(int argc, char* argv[])
{
// Initialize GLFW:
glfwInit();
if (!glfwOpenWindow(300, 300, 0, 0, 0, 0, 0, 0, GLFW_WINDOW)) // Yo failure!
{
printf("Window open failed.\n");
glfwTerminate();
return 0;
}
glfwSetWindowTitle("...");
...
// Clean up:
glfwTerminate();
return 0;
}
其他值得注意的事实是:
- 在 VirtualBox 3.0.2 中运行 Ubuntu,配置为 512 MB RAM,启用 3D 加速,64 MB VRAM,Guest Additions 已成功安装
glxgears
工作正常,甚至 > 300 FPS- 使用
make-x11
构建 GLFW 生成文件命令行:
gcc `pkg-config --cflags libglfw` main.c -o program `pkg-config --libs libglfw` -lglfw -lGLU -lGL -lm
马克关于 C - GLFW window doesn't open on Debian 的提示似乎并没有缓解这种情况
编辑:
有什么方法可以提取更花哨的错误消息吗?任何 getLastErrorDesc()
或调试日志文件?
最佳答案
您使用的是 Ubuntu 中打包的版本还是 GLFW Subversion 存储库中的某个版本?由于删除了自定义 Visual 选择,Subversion 存储库中的 GLXFBConfig 选择被破坏了很长一段时间,因此您可能收到了错误代码。
如果是这种情况,您应该恢复到与 Ubuntu 捆绑在一起的版本,或者从 Subversion 中拉出一个新的树。
关于c - GLFW 窗口无法打开(Ubuntu),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610458/