【问题标题】:Can I use Win32 FreeType without the .dll file?我可以在没有 .dll 文件的情况下使用 Win32 FreeType 吗?
【发布时间】:2010-04-15 09:05:12
【问题描述】:

我正在自学 OpenGL,我正在使用 FreeType 2 实现 ttf 文本渲染。我从

下载了该库

http://gnuwin32.sourceforge.net/packages/freetype.htm

在几个小问题之后,我让它正常运行。困扰我的是我必须将 freetype6.dll 的副本放在我的可执行文件所在的目录中才能运行。我通常会尽量避免出现一堆不必要的 dll 文件。我对 Windows 编程有点陌生,但据我了解,大多数库都可以构建为完全从 lib 运行,而不是在运行时需要 dll。翻阅 FT 的文档让我的大脑融化了,所以我想我会在这里询问是否有任何开发人员以前与 FT 合作过,如果有,他们是否知道如何构建库以便不需要 dll在运行时。

提前感谢您的任何建议或支持。

【问题讨论】:

    标签: c++ dll winapi freetype2


    【解决方案1】:

    查看this link。请参阅可选:安装 FreeType(通过自己编译)部分

    按照说明进行操作,一切顺利。

    【讨论】:

      【解决方案2】:

      您可以通过获取它的源代码来生成静态库...然后您将不需要 dll...而且我认为 freetype2 的源代码可用...

      【讨论】:

      • 可以得到源代码,但是编译起来非常困难。
      • 是的,源代码可用,但尝试阅读构建文档让我大吃一惊。静态链接是我在这里所追求的,我只是在寻找有关为 Win32 构建静态库的建议。如果有帮助,我正在使用 VC++2008。
      • 您在编译静态库时遇到了哪些具体困难...?
      • 我在文档中没有看到关于如何编译静态库的说明。
      【解决方案3】:

      这是 DLL 通用的东西。你所有的 DLL 都应该在 PATH 中,类似于LD_LIBRARY_PATH。同样在 Windows(与 Unix 不同)下,当前目录始终位于 PATH 中。因此,您只需将 PATH 变量设置为指向此 dll 的位置。

      现在,对于 Unix……你可能只是默认安装了这个库,就像在 Windows 下默认不存在的数百个其他有用的库一样。

      所以...不,除非您静态链接,否则您应该以某种方式使用 DLL。还有我的建议 - 使用 dll。

      【讨论】:

      • 呃...是的,我了解如何使用 dll。在这种情况下,我只想静态链接。我可以看到使用动态链接的唯一原因是我将来可能想进行组件升级,但在 freetype 的情况下,我真的看不到这种情况发生。
      猜你喜欢
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 2017-12-31
      • 2019-01-31
      • 2016-08-11
      相关资源
      最近更新 更多