gpt4 book ai didi

c++ - 如何编译 Freetype (2) 和 Harfbuzz (with visual studio) 让它们协同工作?

转载 作者:搜寻专家 更新时间:2023-10-31 02:06:41 27 4
gpt4 key购买 nike

我找到了关于编译与 Harfbuzz 相关的 Freetype 的这个已知问题的很好的文档:http://www.gregwessels.com/dev/2017/05/02/freetype-harfbuzz.html在这里 44184890

但它们现在似乎已经过时了:freetype-2.9 和 harfbuzz-1.7.6

这是我的编译方式:

  • 下载Freetype tarball
  • 提取压缩包...
  • 打开builds\windows\vc2010\freetype.sln
  • 它应该已经很好地生成了(作为一个 dll)
  • 下载Harfbuzz
  • 提取 freetype 旁边的 tarball...
  • 在根级别运行 cmake ./ 以获得 .sln
  • 它必须已经生成好(作为 lib)

此时您有 2 个独立的库无法协同工作,这意味着:

Freetype 不会打开您字体的 GSUB 脚本。(或者我错了)

为此,我需要帮助!我也需要确认!!!

似乎需要在编译时在 Freetype 中启用 Harfbuzz;我找到了一个名为 FT_CONFIG_OPTION_USE_HARFBUZZ

的预编译器指令

但是当激活它时,在第三个项目中使用这两个库时我有一些编译链接错误:

autofit.obj : error LNK2019: external symbol not found _hb_ft_font_create referenced in function _af_face_globals_new

很高兴知道,hb_ft_font_create 是 harfbuzz 中的外部函数。

所以这似乎是一个循环外部问题......我当然没有一个好的配置,但我浏览了很多文档和帮助,什么也没发现......

-- 编辑--两个项目解压后,你通常会得到这样一棵树:

.
├── freetype-2.9
│   ├── autogen.sh
│   ├── builds
│   │   ├── ...
│   │   └── windows
│ │ └── vc2010 <<<< The .sln to use is in here
│   ├── CMakeLists.txt <<<< It is also good to obtain proper sln
│   ├── configure
│   ├── devel
│   │   ├── ft2build.h
│   │   └── ftoption.h
│   ├── include
│   │   ├── freetype
│   │   └── ft2build.h
│   ├── ...
│   ├── objs
│   │   ├── freetype.dll
│   │   ├── freetype.lib
│   │   ├── README
│   │   └── Win32
│   ├── README
│   ├── README.git
│   └── src
└── harfbuzz-1.7.6
   ├── ...
   ├── cmake_install.cmake
   ├── CMakeLists.txt <<<< The cmake project to obtain proper sln is this one
   ├── compile
   ├── ...
   ├── COPYING
   ├── CTestTestfile.cmake
   ├── Debug
   │   ├── harfbuzz.lib
   │   ├── harfbuzz-subset.lib
   │   └── ...
   ├── depcomp
   ├── docs
   ├── gtk-doc.make
   ├── harfbuzz.sln
   ├── harfbuzz.vcxproj
   ├── ...
   ├── main.dir
   │   └── Debug
   ├── NEWS
   ├── README
   ├── README.python
   ├── RELEASING.md
   ├── replace-enum-strings.cmake
   ├── RUN_TESTS.vcxproj
   ├── RUN_TESTS.vcxproj.filters
   ├── src
   │   ├── *.hh
   │   └── *.cc
   ├── test
   ├── THANKS
   ├── TODO
   ├── util
   └── Win32
      └── Debug

最佳答案

或者像 --with-freetype=no --with-fontconfig=no 这样配置 harfbuzz 来避免循环依赖......我是这么认为的......

关于c++ - 如何编译 Freetype (2) 和 Harfbuzz (with visual studio) 让它们协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49896474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com