Ошибка сегментации SDL OpenGL при использовании SDL_CreateWindow

49
6

У меня есть странная проблема, которая внезапно появилась во всех проектах, над которыми я работаю. Я использую C++, SDL2 и OpenGL, и одна из первых вещей, которые происходят в моей внутренней сети, заключается в создании окна SDL с флагом OpenGL, как показано ниже:

int main( int argc, char* args[] )
{
//Minor stuff here e.g. initialising SDL
mainwindow = SDL_CreateWindow("...", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_OPENGL);
}

По какой-то причине это привело к возникновению ошибки сегментации. Если я изменил флаг с SDL_WINDOW_OPENGL на что-нибудь еще, он создаст окно, но, очевидно, не сразу после него, учитывая отсутствие контекста OpenGL, чтобы что-либо сделать. Я дошел до того, что вырезал весь код, за исключением файлов инициализации SDL и OpenGL, и он по-прежнему терпит неудачу с ошибкой segfault.

Эта проблема началась с сегодняшнего дня по двум проектам, которые имеют одну и ту же основную основную структуру. Это заставляет меня думать, что это не проблема с кодом (в основном потому, что код на самом деле не изменился), но что-то с моей настройкой/средой пошло не так. До сих пор я пробовал следующее безрезультатно:

    Зарезервированная последняя библиотека SDL Загружена последняя библиотека GLEW Переустановленные кодовые блоки

Любые идеи для a), что может быть причиной этого, и b) где я должен начать искать, чтобы исправить это?

благодаря

Натан

спросил(а) 2017-03-27T16:34:00+03:00 2 года, 10 месяцев назад
1
Решение
91

И, как и многие другие проблемы в жизни, ответ оказался драйвером. Общесистемное обновление какого-либо рода мешало способности графиков отображать любой вид OpenGL. Исправлена прямая загрузка и установка последних графических драйверов.

ответил(а) 2017-03-28T08:35:00+03:00 2 года, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема