在 Windows、Cygwin 上对 `hb_ft_font_create' 的未定义引用

Wut*_*dej 5 c++ eclipse-cdt freetype harfbuzz

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

对 `hb_ft_font_create' 的未定义引用

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

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

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

Ebr*_*owi 1

它说 HarfBuzz 未使用 FreeType 支持进行编译。您应该先编译不带 FreeType 支持的 HarfBuzz,然后在编译带 HarfBuzz 支持的 FreeType 后,编译带 FreeType 支持的 HarfBuzz(或者相反,首先编译不带 HarfBuzz 的 FreeType,然后再编译其余部分)