首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编译Freetype (2)和Harfbuzz (与visual studio一起使用)使它们一起工作?

如何编译Freetype (2)和Harfbuzz (与visual studio一起使用)使它们一起工作?
EN

Stack Overflow用户
提问于 2018-04-18 09:47:15
回答 2查看 3.7K关注 0票数 3

我已经找到了关于编译与Harfbuzz:http://www.gregwessels.com/dev/2017/05/02/freetype-harfbuzz.html44184890相关的自由类型的已知问题的良好文档。

但如今它们似乎过时了:自由类型-2.9和哈夫巴斯-1.7.6

下面是我编译的方法:

  • 下载自由型tarball
  • 把球抽出来..。
  • 开放builds\windows\vc2010\freetype.sln
  • 它应该已经很好地生成了(作为dll)
  • 下载哈夫巴斯
  • 把自由型旁边的球体.
  • 在根级运行cmake ./以获得.sln
  • 它必须已经生成良好(如lib)。

此时,您有两个独立的libs没有一起工作,这意味着:

自由类型不会打开你字体的GSUB脚本.(或者我错了)

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

似乎需要在编译时在Freetype中使用Harfbuzz;我已经找到了一个名为FT_CONFIG_OPTION_USE_HARFBUZZ的预编译器指令。

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

代码语言:javascript
复制
autofit.obj : error LNK2019: external symbol not found _hb_ft_font_create referenced in function _af_face_globals_new

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

所以这似乎是一个循环的问题..。我确实没有很好的配置,但我浏览了很多文档并提供了帮助,什么也没有发现.

-编辑

代码语言:javascript
复制
.
├── 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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-30 07:05:07

或者配置像--with-freetype=no --with-fontconfig=no这样的哈夫巴斯来避免循环.我认为是这样的.

票数 2
EN

Stack Overflow用户

发布于 2018-04-20 19:11:16

只需使用https://github.com/Microsoft/vcpkg/来安装这两种设备,不要回头看:) HarfBuzz和Freetype都在那里有一个端口,并得到了良好的支持。

关于循环依赖关系,FreeType到HarfBuzz依赖关系并不是必须考虑的。vcpkg处理HarfBuzz到FreeType的依赖关系,这是大多数项目所需要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49896474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档