Редактор Eclipse CDT не распознает расширения OpenGL

Я использую объекты массива вершин и объекты буфера вершин в Eclipse, но редактор не распознает объявления функций. Программа компилируется и выполняется без нареканий.

скриншот

(Обратите внимание, что ошибки: «Функция не может быть разрешена».)

Я пробовал использовать и GLee, и GLEW, но результаты одинаковы. Любые идеи о том, как заставить Eclipse распознавать функции в редакторе?


person Colin Ray    schedule 11.05.2012    source источник
comment
Это не функции расширения. Это основные функции OpenGL.   -  person Nicol Bolas    schedule 11.05.2012
comment
Пожалуйста, не публикуйте растровые изображения. Выложи сам код.   -  person John Dibling    schedule 11.05.2012
comment
Для меня ответ YRH на похожий вопрос решил проблему.   -  person iNFINITEi    schedule 24.09.2013


Ответы (4)


В общем, указатели функций OpenGL, подобные этому, должны определяться макросами, которые разрешаются в какое-либо имя функции. Это разрушает IDE и их попытки понять, что происходит.

В конце концов, если ваша IDE не может с этим справиться, вам просто нужно найти способ с этим жить.

person Nicol Bolas    schedule 11.05.2012

Я не знаю, есть ли что-то особенное в расширениях OpenGl, но я знаю, что в целом мне часто приходится копаться в корневой папке, содержащей файлы .h для моей библиотеки, и явно добавлять все папки в мои пути включения. Добавление самого верхнего родителя ничего не решит для редактора. Как только я добавляю их все, я перестраиваю индексы (обычно для того, чтобы заставить работать функции опережающего ввода). Странно, что редактор более требователен к этому, чем компилятор, но я видел, как это происходит с несколькими библиотеками.

person Tod    schedule 12.05.2012

У меня была именно эта проблема, и единственное, что ее исправило, это начать новый проект C++, сделать самый первый включающим #include <GL/glew.h> и скопировать остальную часть кода. Если проект настроен без glew.h в качестве первого импорта, он по какой-то причине никогда не перенастраивается.

Я пытался вручную возиться с проектом и глобальными свойствами в Eclipse; ничего не помогло, кроме вышеперечисленного.

RE: Ответ Никола Боласа, это правда, что Eclipse не может анализировать макросы достаточно хорошо, чтобы генерировать все всплывающие подсказки и автозаполнения, но он распознает функции и обеспечивает правильные аргументы.

Просто убедитесь, что у вас установлена ​​самая последняя версия Eclipse CDT (и GLEW).

person Nolnoch    schedule 24.04.2013

В некоторых случаях это может сработать при перестроении индекса (щелкните правой кнопкой мыши проект > Индекс > Перестроить).

person echeij    schedule 02.01.2014