Ошибка сегментации при запуске glLinkProgram(shaderProgramID);Linux

Ответить
Anonymous
 Ошибка сегментации при запуске glLinkProgram(shaderProgramID);

Сообщение Anonymous »

Я пытаюсь изучить OpenGL и слежу за сайтом Learnopengl.com. Я отклоняюсь довольно далеко от самого урока, так как хочу узнать как можно больше. Я работаю над созданием компилятора/загрузчика шейдеров. По сути, все работало, пока я не разделил код на файл заголовка и другой класс.
Я получаю следующую ошибку:

Код: Выделить всё

Thread 1 "main" received signal SIGSEGV, Segmentation fault.
0x00007fffeca7fe01 in ?? () from /lib/x86_64-linux-gnu/libgallium-25.0.7-0ubuntu0.24.04.2.so
Я решил, что это связано с тем, что OpenGL не инициализируется должным образом. Однако я запускаю это перед созданием класса шейдера:

Код: Выделить всё

gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
конечно, с проверкой ошибок, чтобы убедиться, что он инициализирован правильно. Я также установил контекст gl. glfwMakeContextCurrent(window);
в моем файле шейдера я еще раз проверяю, чтобы убедиться, что контекст установлен с помощью функции, которую я нашел где-то в Интернете:

Код: Выделить всё

// Check if a context is current before calling any OpenGL function
if (glfwGetCurrentContext() == NULL) {
// This is the error!
std::cerr 

Подробнее здесь: [url]https://stackoverflow.com/questions/79797195/segmentation-fault-error-once-running-gllinkprogramshaderprogramid[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»