我在練一些OpenGL的代碼,當我想怎麼過強制OpenGL上下文通過glutInitContextVersion()使用OpenGL的某個版本失敗的編譯過程,並給出了這樣的消息: -glutInitContextVersion()從glut庫缺少
使用未聲明的標識符「glutInitContextVersion」
的,我想解決這個問題,所以我保持我的代碼儘可能簡單
碼
#include "File.h"
#include <GLUT/GLUT.h>
#include <OpenGL/OpenGL.h>
using namespace std;
int main()
{
glutInitContextVersion(3,2);
return 1;
}
但是我能使用沒有任何錯誤等過剩的功能或警告消息
我在MacBook Air上使用OS X 10.9.1
運行的Xcode 4.4.1
我不熟悉OSX API,因爲我是MAC新手,但是我真的避免使用過剩,但是當我查詢OpenGL版本時,它返回2.1,而Apple則表示MacBook Air與** Intel HD Graphics 4000 **支持OpenGL 4.1這就是爲什麼我使用過剩,謝謝你的回答 – BulBul
啊,在OS X上,你需要*** ***核心配置文件上下文才能獲得OpenGL 3.2或更高版本。過剩框架附帶OS X/Xcode中不會讓你這樣做,有的像AGL的舊接口的也不會。您需要使用CGL或NSOpenGL獲得3.2+原生情境,或使用FreeGLUT,SDL,glfw3等向您隱藏低層次的東西。如果你剛開始使用OS X,我會推薦其中一種解決方案。與可可(OS X的首選*目的C *窗口管理框架)的交易是在OS X –
開始了大多數C++開發人員,我會嘗試你的建議的工具之一是一場噩夢,感謝您的幫助,我真的很感激。 – BulBul