在尝试在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.
这里有什么问题?
答案 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