MAKE 找不到 ft2build.h (freetype2 header) -freetype(2.8.1) 安装正确

MAKE fails to find ft2build.h (freetype2 header) -freetype(2.8.1) is installed properly

我正在尝试在 Ubuntu 18.04 上编译 'xplanet' R224(最新版本) MAKE 找不到 ft2build.h (freetype2 header) 我已经正确安装 'freetype'(2.8.1) 并且所有文件都在那里。我搜索了 Whosebug 并发现许多人遇到同样的问题(ft2build.h 未找到)但对于解决方案的原因或内容没有达成共识。

感谢任何帮助。

MAKE ERROR MESSAGE:
In file included from getTextRenderer.cpp:8:0:
TextRendererFT2.h:4:10: fatal error: ft2build.h: No such file or directory
#include <ft2build.h>
compilation terminated.
Makefile:458: recipe for target 'getTextRenderer.o' failed
make[3]: *** [getTextRenderer.o] Error 1


MY INSTALLED FREETYPE FILES:
ls /usr/include/freetype2/freetype/config
ftconfig.h ftheader.h ftmodule.h ftoption.h ftstdlib.h

ls /usr/include/freetype2/freetype
config ftautoh.h ftbzip2.h ftcid.h ftgasp.h ftimage.h ftlzw.h ftmoderr.h ftpfr.h ftstroke.h ftttdrv.h ttnameid.h
freetype.h ftbbox.h ftcache.h fterrdef.h ftglyph.h ftincrem.h ftmac.h ftotval.h ftrender.h ftsynth.h fttypes.h tttables.h
ft2build.h ftbdf.h ftcffdrv.h fterrors.h ftgxval.h ftlcdfil.h ftmm.h ftoutln.h ftsizes.h ftsystem.h ftwinfnt.h tttags.h
ftadvanc.h ftbitmap.h ftchapters.h ftfntfmt.h ftgzip.h ftlist.h ftmodapi.h ftpcfdrv.h ftsnames.h fttrigon.h t1tables.h ttunpat.h

ls /usr/include/freetype2
freetype ft2build.h


MAKEFILE INCLUDES THESE LINES:
FREETYPE2_CFLAGS = -I/usr/include/freetype2 -I/usr/include/libpng16 
FREETYPE2_LIBS = -lfreetype
FREETYPE_CFLAGS =  
FREETYPE_LIBS =  

出于某种原因,他们混合使用了 FREETYPE 和 FREETYPE2 变量。我设法让它通过这些更改进行编译:

src/libdisplay/Makefile.am中:

--- src/libdisplay/Makefile.am.old      2022-02-27 22:21:56.089575296 +0100
+++ src/libdisplay/Makefile.am  2022-02-27 22:22:13.424197851 +0100
@@ -26,7 +26,7 @@

 EXTRA_libdisplay_a_SOURCES = DisplayMacAqua.cpp DisplayMacAqua.h DisplayMSWin.cpp DisplayMSWin.h TextRendererFT2.cpp TextRendererFT2.h TextRendererPangoFT2.cpp TextRendererPangoFT2.h DisplayX11.cpp DisplayX11.h vroot.h TimerMacAqua.cpp TimerMacAqua.h TimerX11.cpp TimerX11.h

-AM_CPPFLAGS = -I@top_srcdir@/src @X_CFLAGS@ @FREETYPE_CFLAGS@
+AM_CPPFLAGS = -I@top_srcdir@/src @X_CFLAGS@ @FREETYPE2_CFLAGS@

 if USE_AR
   libdisplay_a_AR = $(AR) cru

src/Makefile.am中:

--- src/Makefile.am.old 2022-02-27 22:22:02.953029931 +0100
+++ src/Makefile.am     2022-02-27 22:22:31.438766211 +0100
@@ -8,7 +8,7 @@
   parsegeom = ParseGeom.c ParseGeom.h
 endif

-AM_CPPFLAGS = -DDATADIR=\"$(datadir)@separator@xplanet\" @X_CFLAGS@ @FREETYPE_CFLAGS@
+AM_CPPFLAGS = -DDATADIR=\"$(datadir)@separator@xplanet\" @X_CFLAGS@ @FREETYPE2_CFLAGS@
 AM_LDFLAGS = @xplanet_LDFLAGS@

 xplanet_SOURCES = \
@@ -72,5 +72,5 @@
                libprojection/libprojection.a           \
                libsgp4sdp4/libsgp4sdp4.a               \
                @GRAPHICS_LIBS@ @CSPICE_LIBS@ @X_LIBS@  \
-               @XSS_LIBS@ @FREETYPE_LIBS@ @AQUA_LIBS@  \
+               @XSS_LIBS@ @FREETYPE2_LIBS@ @AQUA_LIBS@         \
                @LIBICONV@ @LIBCHARSET@

上面的解决方案完全成功。 FREETYPE2 在“src/Makefile.am”中的三个地方被拼错为 FREETYPE 安装没有进一步的问题

莫莉 2 月 27 日 22:50