Linux 上的 Freetype 依赖项

问题描述 投票:0回答:1

我第一次尝试将项目从 Windows 迁移到 Linux,但遇到了一些问题,包括 freetype (ft2build.h)。

以前会使用预编译的二进制文件,现在我使用 cmake 创建 freetype 库,看到有几个选项:

我四处搜索并找到了 zlib 和 libPNG,但我不确定拥有这些依赖项有多么必要。这些依赖项有什么好处?如果没有它们,freetype 仍然能够加载 .ttf 和 .otf 文件吗?

c++ linux cmake dependencies freetype
1个回答
0
投票

游戏迟到了,但就其价值而言,我刚刚禁用了我拥有的一个玩具项目的所有这些依赖项,使用:

# Disable all FreeType external dependencies
option(FT_DISABLE_ZLIB "Disable use of system zlib and use internal zlib library instead." ON)
option(FT_DISABLE_BZIP2 "Disable support of bzip2 compressed fonts." ON)
option(FT_DISABLE_PNG "Disable support of PNG compressed OpenType embedded bitmaps." ON)
option(FT_DISABLE_HARFBUZZ "Disable HarfBuzz (used for improving auto-hinting of OpenType fonts)." ON)
option(FT_DISABLE_BROTLI "Disable support of compressed WOFF2 fonts." ON)

我仍然可以打开 TTF 文件并渲染字形。我在我的 CMakeLists.txt 中的

FreeType 源存储库
上的 FetchContent_Declare 标记 VER-2-13-2 之前使用上面的代码,这是在 Linux 上(Xubuntu 24.04,尽管我认为这并不重要) .

我相信帮助文本对于

option
命令是必要的,我认为这是我们必须在此处使用的命令,因此我刚刚复制/粘贴了 FreeType CMakeLists.txt 中的注释。

我可能需要在稍后重新启用其中一些依赖项,在这种情况下,我将尝试使用额外的

FetchContent_Declare
来解决这个问题,尽管在撰写本文时,我不确定这与自由类型。但为了最大程度的可移植性,不依赖本地安装的依赖项似乎是当今的常见做法。

© www.soinside.com 2019 - 2024. All rights reserved.