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