Когда я пытаюсь скомпилировать эту программупроблема OpenGL/GLUT на OSX Sierra
#include <stdlib.h>
#include <GLUT/glut.h>
int main(int argc, char* argv[]) {
glGetError();
exit(1);
}
с
cc -std=c99 main.c -framework OpenGL -framework GLUT -framework Cocoa
на Mac OSX Sierra 10.12.1 с LLVM версии 8.0.0 (clang- 800.0.42.1), я получаю ошибку сегментации:
* thread #1: tid = 0xc0a7d, 0x00007fffd7ecea07 libGL.dylib`glGetError + 13, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x00007fffd7ecea07 libGL.dylib`glGetError + 13
Я полностью потерял, как к тому, что здесь происходит. Я могу только предположить, что это какая-то проблема связывания. У меня нет доступа к машине до Сьерры, но раньше я не сталкивался с этой проблемой, поэтому я предполагаю, что в Сьерре что-то должно было измениться.
Судя по другим ответам на SO, поведение glGetError без контекста может быть зависимым от платформы (или просто не определено). Но я думаю, что вы правы, это правильный ответ. – hanno