为什么能glGetString(GL_VERSION)导致该赛格故障? [英] Why Could glGetString(GL_VERSION) Be Causing a Seg Fault?
本文介绍了为什么能glGetString(GL_VERSION)导致该赛格故障?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在学习上的Fedora 13的OpenGL,发现到glGetString呼叫引起赛格故障。我刮谷歌,但拿出无解。
在code是简单的:
的#include< GL / gl.h>诠释主(){
glGetString(GL_VERSION);
返回0;
}
编译命令:
G ++ -lGL的main.cpp -o TEST.bin,烧写
运行结果是:
$ ./test.bin
分段错误(核心转储)
OpenGL的信息:
$ glxinfo | grep的OpenGL的
OpenGL的供应商字符串:钨图形,公司
OpenGL渲染字符串:梅萨DRI英特尔(R)IGDNG_M创业板20100328 2010Q1
OpenGL的版本字符串:2.1梅萨7.8.1
OpenGL着色语言版本字符串:1.20
OpenGL扩展:
任何意见或引用是大大AP preciated。
解决方案:
的#include<&iostream的GT;
#包括LT&; GL / freeglut.h>INT主(INT ARGC,字符** argv的){
glutInit(安培; ARGC,ARGV);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(测试);
glutFullScreen();
性病::法院LT&;< glGetString(GL_VERSION)LT;<的std :: ENDL;
返回0;
}
解决方案
我怀疑你可以打电话甚至一些如glGetString简单而不的OpenGL上下文的。
I'm learning OpenGL on Fedora 13 and noticed that a call to glGetString is causing a seg fault. I've scraped Google, but come up with no solutions.
The code is simple:
#include <GL/gl.h>
int main() {
glGetString(GL_VERSION);
return 0;
}
Compile Command:
g++ -lGL main.cpp -o test.bin
Run result:
$ ./test.bin
Segmentation fault (core dumped)
OpenGL Info:
$ glxinfo | grep OpenGL
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) IGDNG_M GEM 20100328 2010Q1
OpenGL version string: 2.1 Mesa 7.8.1
OpenGL shading language version string: 1.20
OpenGL extensions:
Any ideas or references are greatly appreciated.
Solution:
#include <iostream>
#include <GL/freeglut.h>
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow("test");
glutFullScreen();
std::cout << glGetString(GL_VERSION) << std::endl;
return 0;
}
解决方案
I doubt you can call even something as simple as glGetString without an OpenGL context.
这篇关于为什么能glGetString(GL_VERSION)导致该赛格故障?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文