настройка включает путь в CDT затмения в Mac OS (заголовки из фреймворка) - PullRequest
4 голосов
/ 04 октября 2010

например, мне нужно включить заголовок

#include <OpenGL/glext.h>

, в то время как на самом деле это файл заголовка glext.h в OpenGL.framework / Headers /.Поэтому нет никакого способа дать затмению физический путь к «OpenGL / glext.h», и я всегда получаю предупреждение о неразрешенном включении.

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

есть ли решение?

Ответы [ 3 ]

3 голосов
/ 01 февраля 2012

Хотя это и не идеальное решение, я решил создать папку "/ Developer / Framework Headers" (хотя имя не имеет значения) и ссылку, например, с. "/System/Library/Frameworks/Foo.framework/Headers" в "Foo" в указанной папке. Затем в Eclipse я добавляю "/ Developer / Framework Headers" к включениям проекта.

Я говорю, что это не идеально, потому что помимо необходимости создавать ссылки для необходимых вам фреймворков и добавлять включение в каждый проект, Eclipse, похоже, имеет проблемы в некоторых случаях, таких как вложенные фреймворки (например, CoreGraphics под ApplicationServices), но YMMV. 1003 *

1 голос
/ 18 июля 2011

Да, есть.Щелкните правой кнопкой мыши проект в окне «Project Explore» и выберите «свойство».Там откройте колонку «C / C ++ General» и выберите «Путь и символы».Теперь вы видите все пути включаемой библиотеки для этого проекта.Если вы используете C, то добавьте библиотеку OpenGL в GNU C, или, если вы используете C ++, добавьте ее в GNU C ++.К сожалению, вы должны сделать это для каждого нового проекта.Я долго искал, как это сделать по умолчанию, но ничего действительно полезного.Надеюсь, это поможет вам избавиться от этих надоедливых желтых волновых линий.

0 голосов
/ 11 февраля 2014

Поскольку текущие выпуски Eclipse CDT не выполняют корректное включение заголовка подфреймворка, вы можете избежать проблем подфреймворка (например, сгенерированных файлами заголовков CoreServices), создав символические ссылки на каталоги включения каждой подфреймворка. Я подробно остановился на этой теме, которая вытекает из ответа Данхана на этот вопрос в этом сообщении в блоге.

Чтобы автоматизировать этот процесс, я создал сценарий оболочки Z, который автоматизирует этот процесс и создает символическую ссылку на каталог заголовка указанных платформ вместе со ссылками на каталог включения каждой из их подфреймворков. , Сценарий можно найти в этом репозитории GitHub .

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...