Заголовок моста находит файл только с полным путем - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть проект, который требует локальной структуры. В проекте есть фреймворки, настроенные в папке фреймворков. Новая локальная структура также помещена в него. Структура папки результатов выглядит следующим образом:

project
-- frameworks
---- theFramework.framework
------Headers
--------TheFramework.h
--------file1.h
--------file2.h
--------subfolder
----------Subfolder.h
----------Another.h

В заголовке Bridging необходимо импортировать TheFramework.h и Subfolder.h.

Это выглядит так:

#ifndef Bridging_Header_h
#define Bridging_Header_h

#import <TheFramework/TheFramework.h> //This one is working just fine
#import <subfolder/Subfolder.h> //This one fails with File not found

#endif /* Bridging_Header_h */

Если я изменю #import <subfolder/Subfolder.h> на #import <TheFramework/subfolder/Subfolder.h>, то кажется, что файл найден, потому что он завершается с ошибкой в ​​Subfolder.h, где он пытается сделать #import <subfolder/Another.h>, и снова с ошибкой с Not Found

Если я изменю subfolder/Another.h на TheFramework/subfolder/Another.h, то это также будет работать и здесь.

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

Кто-нибудь знает, как я могу решить эту проблему? Либо с помощью того, что проект найдет импорт, который уже определен, либо, например, определив где-нибудь значение, которое заставит компилятор понять, что subfolder/file.h равно TheFramework/subfolder/file.h?

Спасибо!

1 Ответ

0 голосов
/ 28 февраля 2020

Нашел решение, которое мне пришлось добавить

"$(SRCROOT)/frameworks/theFramework.framework/Headers"

к моим целям. Пути поиска по заголовкам пользователей (Цель -> Настройки сборки -> Пути поиска по заголовкам пользователей. Похоже, что компилятор знает, где дополнительно искать заголовочные файлы, включая подпапки.

...