使用opengl会导致分段错误

时间:2015-10-08 20:32:32

标签: c++ ubuntu opengl glut

我使用OpenGL在C ++中创建模型加载器/查看器,并尝试将我的代码从Windows(visual studio)移动到Ubuntu。

使用GDB,我遇到了分段错误:

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()

即使没有调用过剩函数,段错也会持续存在。只有当我从代码中删除任何提及的过剩时,这才会消失。

据我了解,Microsoft和GNU编译器之间存在差异,以及两个操作系统之间某些库的一般行为不同。但是,令人难以置信的是,我在程序开始时遇到了段错误,而不是编译错误。

我已经测试了过剩与其他程序一起工作,使用适当的linux标头(#include)并确保在编译时包含过剩标志:

main: main.o    g++ -o main main.o -lGL -lGLU -lglut -std=gnu++11

main.o: main.cpp loader.h geom.h    g++ -c main.cpp -lGL -lGLU -lglut
-std=gnu++11

1 个答案:

答案 0 :(得分:0)

原来这个问题是OpenGL和Ubuntu的一个已知错误。尝试将String和/或future与OpenGL库链接在一起会导致程序中断。