我无法使用 FTGL(未找到 ft2build.h)

Posted

技术标签:

【中文标题】我无法使用 FTGL(未找到 ft2build.h)【英文标题】:I can't use FTGL (ft2build.h not found) 【发布时间】:2018-10-01 10:17:32 【问题描述】:

我想使用FTGL库,我下载了freetype2,因为编译器说

/usr/include/FTGL/ftgl.h:32:10:致命错误:ft2build.h:没有这样的文件 或目录 #包括 ^~~~~~~~~~~~ 编译终止。

所以,我将 freetype-2.9.1 文件夹放在 /usr/include/FTGL 中,确认 ft2build.h 在 freetype-2.9.1/devel 中。 然后我尝试编译,但编译器仍然给出同样的错误。 我怎样才能解决这个问题? 我在 Virtualbox 上运行 Ubuntu 18.04。 任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

FreeType 是一个独立的库,您不能简单地将其放在 FTGL 目录“内部”,它会自行运行。除了放错地方,如果你自己下载,还需要单独编译给你动态或静态的Freetype库链接。

一般来说,对于任何此类错误,请手动检查您的包含路径以查看标头是否存在或是否需要添加到您的包含路径中。

我还注意到,通常在 Linux 上,此类流行的软件包已经预编译了。在这种情况下,您可能会查看libftgl-dev 的 FTGL 而不是您自己的。如果您需要不同的版本,对于 FreeType,您可以使用 libfreetype6-dev。如果您想以简单的方式查看包含的内容,您也可以在线浏览包,例如https://packages.ubuntu.com/xenial/libftgl-dev 和 https://packages.ubuntu.com/xenial/amd64/libftgl-dev/filelist

【讨论】:

安装 libftgl-dev 后我的代码中的“#include ”如何更改? 你可以直接使用它,如果你在那些包里有一个/usr/include/FTGL/ftgl.h。它还有要链接的库,/usr/lib/x86_64-linux-gnu/libftgl.a 我下载了 libfgtl-dev 并将文件夹放在 usr/include 中,但编译器显示相同的错误。是否与已经存在的 FTGL 文件夹冲突? 您无需下载和解压缩包/存档文件,而是安装它(无论如何,它只有一部分进入/usr/include)。对于基于现代 Debian(包括 Ubuntu)的工具,在终端中执行此操作的工具是 apt install,还有一个用于包管理的 GUI。

以上是关于我无法使用 FTGL(未找到 ft2build.h)的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 FTGL 更改字体颜色

OpenGL:使用 FTGL 和纹理

寻找例如使用 FTGL 和 Qt (OpenGL)

如何从 C++ 使用 FTGL C API?

在 FTGL 中正确定位字体的 y 轴

ftgl 绘制文字