Я передаю программу из OSX в Windows, но одна ошибка все еще меня злит. Ошибка возникает во время выполнения в gdb. Компиляция и привязка идут отлично.Ошибка Freeglut: fgInitGL2: fghGenBuffers - NULL
freeglut (C:\path\to\file.exe): fgInitGL2: fghGenBuffers is NULL
Вне среды GDB это дает APPCRASH (окна-оболочке) или неисправность сегментации (mingw64-оболочка).
Мои флаги компоновщика являются:
-std=c++11 -lstdc++ -lz -lm -lmysqlcleint -lpthread -lboost_thread-mgw49-mt-d-1_57 -lboost_system-mgw49-mt-d-1_57 -lboost_regex-mgw49-mt-d-1_57 -lcurl -lfreeglut -lglu32 -lopengl32 -lws2_32 -lwsock32 -U__CYGWIN__
Я работаю в msys2 MinGW-w64. Во время выполнения программа пытается открыть новое окно (по крайней мере, пиктограммы на панели задач Windows), но построение окна не будет выполнено. Программа отлично работает на OSX, где я использую глют вместо freeglut.
Заголовок (среди прочих):
#include <direct.h>
#include <GL/glut.h>
#include <GL/freeglut.h>
CPP (среди прочих):
void interface::startInterface(int &argc, char **argv){
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize (width, height);
glutInitWindowPosition (1920, 0);
glutInit (&argc, argv);
glutCreateWindow ("TIFAR 2.0");
LoadGLTextures(); // Load The Texture(s) (NEW)
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // This Will Clear The Background Color To Black
glClearDepth(1.0); // Enables Clearing Of The Depth Buffer
glDepthFunc(GL_LESS); // The Type Of Depth Test To Do
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); // Reset The Projection Matrix
gluPerspective(45.0f, (GLfloat) width/(GLfloat) height, 0.1f, 100.0f);
// Calculate The Aspect Ratio Of The Window
glMatrixMode(GL_MODELVIEW);
glutDisplayFunc (interface::display);
glutReshapeFunc (interface::reshape);
glutIdleFunc (interface::idle);
glutKeyboardFunc (interface::processNormalKeys);
glutMainLoop();
}
Есть некоторые другие части в программе, как, где загружаются изображения, но я думаю, что это будет быть много информации, когда я упоминаю все здесь.
В какой версии FreeGLUT вы используете? – genpfault
@genpfault: Из определений freeglut_std.h: FREEGLUT 1, GLUT_API_VERSION 4, GLUT_XLIB_IMPLEMENTATION 13, FREEGLUT_VERSION_2_0 1. – martinvb