Я пытаюсь вручную добавить freetype 2.9.0 в качестве цели сборки фреймворка для моего игрушечного проекта в Xcode. Freetype использует макросы препроцессора для включения заголовков в угловые скобки (<freetype/config/xx.h>
) который сбивает с толку систему сборки XCode, и я получаю ошибку expected "FILENAME" or <FILENAME>
, указывая, что он не может найти мой уровень системы включает. Вместо того, чтобы жестко кодировать заголовки подпапок, как мне настроить систему сборки Xcode для поиска этих файлов конфигурации?
Я пробовал это в другом файле
#define SOME_CONFIG <glfw/glfw3.h> /*this header is included as a system header in a subfolder <project/glfw/... , and works fine*/
#ifdef SOME_CONFIG
#include SOME_CONFIG
#endif
И это работает отлично. Но когда я пытаюсь сделать это с помощью freetype, он не может найти расширенное в макросах.
Структура включения freetype выглядит следующим образом:
include/ftbuild.h -- points to include/freetype/config/ftheader.h
include/config/ftheader.h -- has all the #define macros to ->
include/config/... -- a bunch of headers with options which Xcode refuse to see
Видимо, все это работало все время, я просто забыл добавить переменную среды FT2_BUILD_LIBRARY как для отладки, так и для сборки выпуска, и я настроил ее на отладку, поэтому макросы внутреннего заголовка не были предварительно скомпилированы и поэтому не найдены. Прекрасно работает, чтобы делать то, что я пытаюсь сделать в Xcode 9.
Других решений пока нет …