开罗依赖于FontConfig,而FontConfig又依赖于Freetype。我已经构建了FreeType,但在尝试构建FontConfig时,由于FreeType需要HarfBuzz,因此出现了链接错误。
当我尝试构建Harfbuzz时,它又依赖于FreeType。因此我们有了循环依赖。此时的makefiles是不可用的:当它尝试构建测试时,它们无法链接,因为它们需要来自Harbuzz本身的符号。这可以通过在链接行中两次使用HarfBuzz来解决。或者删除所有测试(这就是我所做的)。因此问题得到了解决。
Harfbuzz有一个名为“helper-cairo.cc”的文件。当我尝试编译它时,它抱怨缺少FontConfig头文件,因此显然存在对FontConfig的依赖。但是,我不能在构建HarfBuzz之前构建FontConfig!
我不知道如何解决这个依赖关系。也许我可以在构建HarfBuzz时禁用Cairo助手,使用生成的库来构建FontConfig,然后使用生成的FontConfig重新构建HarfBuzz,最后再重建FontConfig?这似乎很麻烦。
我正在使用MinGW进行构建,而Windows DLL不喜欢未解析的符号,因此我认为我无法通过共享库解决这个问题。我真的不确定为什么在链接FontConfig时需要HarfBuzz - 也许它正在尝试构建DLL :(
有什么想法可以解决这个问题,而不会失去重要的功能吗?
当我尝试构建Harfbuzz时,它又依赖于FreeType。因此我们有了循环依赖。此时的makefiles是不可用的:当它尝试构建测试时,它们无法链接,因为它们需要来自Harbuzz本身的符号。这可以通过在链接行中两次使用HarfBuzz来解决。或者删除所有测试(这就是我所做的)。因此问题得到了解决。
Harfbuzz有一个名为“helper-cairo.cc”的文件。当我尝试编译它时,它抱怨缺少FontConfig头文件,因此显然存在对FontConfig的依赖。但是,我不能在构建HarfBuzz之前构建FontConfig!
我不知道如何解决这个依赖关系。也许我可以在构建HarfBuzz时禁用Cairo助手,使用生成的库来构建FontConfig,然后使用生成的FontConfig重新构建HarfBuzz,最后再重建FontConfig?这似乎很麻烦。
我正在使用MinGW进行构建,而Windows DLL不喜欢未解析的符号,因此我认为我无法通过共享库解决这个问题。我真的不确定为什么在链接FontConfig时需要HarfBuzz - 也许它正在尝试构建DLL :(
有什么想法可以解决这个问题,而不会失去重要的功能吗?