编译freetype

时间:2017-05-25 15:59:58

标签: freetype

在尝试在Ubuntu Linux 86-64上编译freetype 2.6.1时,我在配置步骤中收到以下消息:

/usr/local/include/harfbuzz/hb-common.h:316:29: note: in expansion of macro ‘HB_TAG_MAX’
   _HB_SCRIPT_MAX_VALUE    = HB_TAG_MAX, /*< skip >*/
                             ^
In file included from /home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/afglobal.h:26:0,
                 from /home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/afpic.c:23,
                 from /home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/autofit.c:21:
/home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/hbshim.h:31:19: fatal error: hb-ft.h: No such file or directory
 #include <hb-ft.h>
                   ^
compilation terminated.

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

如果您不确切地知道自己在做什么,并且没有足够的所需构建工具经验,那么构建FreeType可能会有点麻烦。我也遇到了这个...然后got my experience使用构建工具:)

您正尝试使用 HarfBuzz 支持构建 FreeType 。那当然需要 HarfBuzz 。实际上你需要一个 FreeType支持的HarfBuzz 版本( - &gt; hb-ft.h)才能构建支持HarfBuzz的FreeType

以下是我使用 FreeType 编译而不使用Harfbuzz 的两种简单方法:

通过配置
git clone git clone https://git.savannah.nongnu.org/git/freetype/freetype2.git
cd freetype2
./autogen.sh                   # generates configure
./configure --without-harfbuzz # generates Makefile + deactivates harfbuzz
make                           # compile libs
make install                   # install libs & headers
通过 cmake
git clone git clone https://git.savannah.nongnu.org/git/freetype/freetype2.git
cd freetype2
mkdir build && cd build
cmake ..      # generates Makefile + deactivates HarfBuzz if not found
make          # compile libs
make install  # install libs & headers

如果您想要支持HarfBuzz的FreeType版本,可能需要查看this answer