5

当我尝试在 Windows 上使用 Cygwin 和 Eclipse CDT 编译程序时出现以下错误。

未定义对“hb_ft_font_create”的引用

我认为这是由 -l 参数的顺序引起的。基本上这个函数依赖于 Freetype2,但是 Freetype2 的 autohinter 也依赖于 Harfbuzz。这使它成为一个循环依赖问题。

如果我颠倒 -lharfbuzz 和 -lfreetype 之间的顺序,则会出现另一组错误,其中包含对其他一堆 harfbuzz 函数(不包括 hb_ft_font_create)的未定义引用。

那么我该如何解决未定义的引用问题呢?

4

1 回答 1

0

它说 HarfBuzz 没有在 FreeType 支持下编译。您应该首先在没有 FreeType 支持的情况下编译 HarfBuzz,然后在使用 HarfBuzz 支持编译 FreeType 之后,在使用 FreeType 支持的情况下编译 HarfBuzz(或相反的方式,首先编译没有 HarfBuzz 的 FreeType,然后再编译其余部分)

于 2018-05-11T17:35:43.657 回答