Я пытался собрать программу opengl на qt creator, установленном на моем Mac, с osx 10.9.
Я получил несколько предупреждений о функциях перенастройки об их устаревании в osx10.9, пример сообщения об ошибке:
‘glutInit’ устарела: сначала устарела в OS X 10.9 [-Wdeprecated-декларации]
glutInit (&ARGC, &ARGV);
^
Интересно, GLUT.h больше не используется в osx10.9? Согласно некоторым другим сообщениям, говорится, что если мы изменим «OS X Deployment Target» обратно на OSX10.8, он будет работать. Как это сделать в qtcreator? Спасибо!
Вы все еще можете использовать его в 10.9. Они посылают вам довольно сильный сигнал, что они хотят, чтобы вы остановились, хотя …
Вы можете отключить эти предупреждения с помощью -Wno-deprecated-declarations
опция компилятора.
Есть также некоторые трудности, включая правильные заголовки, если вы пытаетесь использовать функции уровня GL3, потому что вам нужно включить gl3.h
за это время glut.h
включает в себя gl.h
, что вызывает дополнительные жалобы на возможные конфликты при строительстве. Несколько хакерский обходной путь, который я нашел для этого, заключается в предотвращении glut.h
от в том числе gl.h
определив защиту заголовка:
#include <OpenGL/gl3.h>
#define __gl_h_
#include <GLUT/glut.h>
Затем для использования функций уровня GL3 + необходимо указать это с дополнительным флагом для glutInitDisplayMode()
:
glutInitDisplayMode(... | GLUT_3_2_CORE_PROFILE);
Похоже, пришло время начать использовать GLFW. Я никогда не использовал GLUT для чего-то серьезного, но это всегда было очень удобно для небольших демонстраций / тестов.