0
当我试图编译这个程序的OpenGL/GLUT问题
#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塞拉利昂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
我完全失去了这里发生的事情。我只能假设它是某种链接问题。我无法访问Sierra之前的机器,但之前我没有遇到过这个问题,所以我认为在Sierra中肯定有某些变化。
根据SO上的其他答案来判断,没有上下文的glGetError的行为可能是平台相关的(或者只是未定义的)。但我认为你是对的,这是正确的答案。 – hanno