Избыточное устаревание в Mac OSX 10.9, IDE: QT Creator

Я пытался собрать программу 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? Спасибо!

7

Решение

Вы все еще можете использовать его в 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 для чего-то серьезного, но это всегда было очень удобно для небольших демонстраций / тестов.

10

Другие решения


По вопросам рекламы [email protected]