Cairo dépend de FontConfig. FontConfig a une dépendance sur Freetype. J'ai construit FreeType, mais quand j'essaye de construire FontConfig j'obtiens des erreurs de lien pendant que FreeType a besoin de HarfBuzz. Quand j'essaye de construire Harfbuzz, il a une dépendance sur FreeType. Nous avons donc une dépendance circulaire. Les makefiles à ce stade sont cassés: Quand il essaye de construire les tests, ils ne parviennent pas à se lier parce qu'ils ont besoin de symboles de Harbuzz lui-même. Ceci est résolu en ayant HarfBuzz deux fois dans la ligne de liaison. Ou en supprimant tous les tests, ce que j'ai fait. Donc, cela a résolu ce problème.Comment construire Cairo/Harfbuzz?
Harfbuzz a un fichier appelé "helper-cairo.cc". Lorsque j'essaie de compiler ceci, il se plaint d'un fichier d'en-tête FontConfig erroné, donc il y a une dépendance sur FontConfig. Cependant, je ne peux pas construire FontConfig sans d'abord construire HarfBuzz!
Je ne sais pas comment résoudre cette dépendance. Peut-être que je peux désactiver l'aide du Caire lors de la construction de HarfBuzz, utiliser la bibliothèque résultante pour construire FontConfig, puis reconstruire HarfBuzz avec le résultat FontConfig, puis reconstruire FontConfig? Tout cela semble une grande nuisance.
Je construis avec MinGW et Windows Les DLL n'aiment pas les symboles non résolus, donc je ne pense pas que je puisse résoudre cela avec les bibliothèques partagées. Je ne suis pas vraiment sûr pourquoi j'ai besoin HarfBuzz lors de la liaison FontConfig - il est peut-être essayer de construire une DLL :(
Toute idée comment résoudre sans perdre des fonctionnalités importantes