Каир имеет зависимость от FontConfig. FontConfig имеет зависимость от Freetype. Я создал FreeType, но когда я пытаюсь построить FontConfig, я получаю ошибки ссылок, поскольку FreeType требует HarfBuzz.Как создать Cairo/Harfbuzz?
Когда я пытаюсь построить Harfbuzz, он имеет зависимость от FreeType. Таким образом, мы имеем круговую зависимость. Модифицированные файлы на этом этапе сломаны: когда он пытается построить тесты, они не могут ссылаться, потому что им нужны символы из самого Harbuzz. Это разрешимо с помощью HarfBuzz дважды в линии ссылок. Или удалив все тесты, которые я сделал. Так что эта проблема решена.
У Harfbuzz есть файл под названием «helper-cairo.cc». Когда я пытаюсь скомпилировать это, он жалуется на файл заголовка Mint FontConfig, поэтому отчетливо существует зависимость от FontConfig. Однако я не могу построить FontConfig без первого построения HarfBuzz!
Я не знаю, как решить эту зависимость. Может быть, я могу отключить помощника Каира при создании HarfBuzz, использовать результирующую библиотеку для создания FontConfig, а затем перестроить HarfBuzz с результирующим FontConfig и затем перестроить FontConfig? Все это кажется большой неприятностью.
Я строю с MinGW и Windows DLL не любят неразрешенные символы, поэтому я не думаю, что могу разрешить это с помощью разделяемых библиотек. Я не совсем уверен, почему мне нужно HarfBuzz при связывании FontConfig - может быть, он пытается построить DLL :(
Любые идеи, как решить эту проблему без потери важной функциональности