Xcode не может найти заголовок #Include <> - PullRequest
7 голосов
/ 21 января 2010

Я пытаюсь заставить Xcode импортировать заголовочный файл для Irrlicht.

#include <irrlicht.h>

Там написано "Irrlicht.h. Нет такого файла или каталога". Да, Irrlicht.h с заглавной буквой I, хотя #include является строчным.

В любом случае я добавил "/lib/irrlicht-1.6/include" в пути поиска заголовка для проекта Xcode, но он все еще не находит его.

Единственное, что я пробовал, это работает:

#include "/lib/irrlicht-1.6/include/irrlicht.h"

Это немного смешно, но #include должно работать, я не понимаю, почему это не работает.

Обновление (здесь более подробно об ошибке):

/lib/PAL/pal_benchmark/palBenchmark/main.h:31:0
/lib/PAL/pal_benchmark/palBenchmark/main.h:31:22: error: irrlicht.h: No such file or directory

Ответы [ 5 ]

14 голосов
/ 21 января 2010

Я понял это. Возможно, кто-то может прокомментировать, почему это так.

Заголовок находился в этом каталоге:

/lib/irrlicht-1.6/include/

Если бы я добавил этот путь к: «Пути поиска по заголовкам», Xcode все равно не нашел бы путь при создании проекта.

Решение: Добавьте путь к заголовку: "Пути поиска по заголовку пользователя" вместо.

Меня удивляет, почему я должен был это сделать, так как я часто добавляю пути к заголовкам в «Пути поиска по заголовкам», а затем #include просто работает. Надеюсь, что это может помочь кому-то еще, кто получает эту же проблему.

2 голосов
/ 21 января 2010

Оба

#include <irrlicht.h> 

#include "irrlicht.h" 

должно работать до тех пор, пока аргумент "-I" для gcc содержит путь к каталогу, содержащему файл заголовка. Если irrlicht.h является частью / usr / include, опция "-I" больше не требуется.

0 голосов
/ 15 ноября 2013

Я понимаю, что это старый пост, но он очень высоко ценится в Google, поэтому я решил добавить немного информации

В XCode 3.2.6 у меня была проблема, когда XCode не мог найти файл заголовка. Оказывается, один из путей к файлам содержал пробел, и XCode неправильно его интерпретировал.

Например: с путем типа «Пользователи / Имя пользователя / Рабочий стол / Проект / Некоторые заголовки»

Вот выдержка из командной строки GCC: "-I / Пользователи / Имя пользователя / Рабочий стол / Проект / Некоторые" "-I / Заголовки"

Чтобы увидеть ваш журнал сборки, предоставленный XCode, здесь есть хорошее руководство: Как вы показываете журнал сборки XCode? (Попытка проверить, правильно ли создан почтовый индекс сборки iPhone).

0 голосов
/ 17 марта 2011

и более того, плоская файловая иерархия - это не то, что вам нужно. Перетаскивание файлов в Xcode выравнивает вашу иерархию. Например, если вы хотите иметь несколько целей, с файлом «TargetName / settings.h» для этой цели. у вас будет много файлов settings.h, которые необходимо сохранить уникальными с помощью имени папки.

0 голосов
/ 21 января 2010

Вместо того, чтобы явно добавлять пути включения в настройки вашего проекта, более простое и удобное решение для такой ситуации - просто перетащить каталог, содержащий ваши файлы .h (в данном случае /lib/irrlicht-1.6/include) в панель файлов проекта. Конечно, это добавляет заголовки в ваш проект, облегчает их просмотр, поиск символов и т. Д., А также добавляет путь к каталогу для компиляции gcc, так что вам не нужно явно управлять путями включения.

...