【问题标题】:Any usage of opengl causes a segmentation fault任何使用 opengl 都会导致分段错误
【发布时间】:2016-01-06 15:29:48
【问题描述】:

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

使用 GDB,我得到一个分段错误:

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

即使没有调用 glut 函数,段错误仍然存​​在。只有当我真正从代码中删除任何关于过剩的内容时,这种情况才会消失。

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

我已经测试过 glut 可以与其他程序一起使用,请使用适用于 linux 的 glut 标头 (#include ) 并确保在编译时包含 glut 标志:

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

【问题讨论】:

  • 发布MCVE 和相关的回溯。
  • 你使用 GLUT 吗?如果没有,请摆脱它。

标签: c++ ubuntu opengl glut


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-08-19
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 2021-05-25
    • 2011-06-22
    相关资源
    最近更新 更多