4

最近我在使用 MonoGame Content Pipeline 工具时遇到了一些问题,无法加载纹理。错误消息说找不到“freeimage.dll”。我查看了 MonoGame 论坛的解决方案,最终下载了 64 位版本的 Visual C++ Redistributable Package 2012。这解决了我的问题,内容管道可以再次加载 .png 文件。现在管道工具在加载 .spritefont 文件时遇到问题。它说它缺少“freetype.dll”。所有这些丢失的 .dll 文件是怎么回事?我刚刚下载了 VC++ Redistributable Package,但它只修复了纹理,而不是字体。


更新:

我尝试下载 Visual C++ Redistributable Package 2017。但是,问题仍然存在......

4

2 回答 2

3

根据Monogame 中的错误报告 5736,它们链接到 2012 可再发行组件(在短时间内无法下载)是一个问题。

您可以尝试按照错误报告(如下)中的说明自行编译 freetype6 来修复它,或者您可以在修复错误 4485时等待他们修复问题(这似乎解决了他们依赖链的更大问题),或者您可以查看较新的重新分发是否修复了它。

...

尝试下载 VC++ 2012 Update 4 Redistributable:
https ://www.microsoft.com/en-us/download/details.aspx?id=30679

或者尝试自己编译 freetype6:

mdrejhon 于 2017 年 5 月 25 日发表评论•</p>

尤里卡!我自己重新编译了 FreeType 并解决了这个问题。

我只需要遵循这些说明的修改版本: Compiling FreeType to DLL (instead of static library)

Download latest FreeType 2.8 from https://www.freetype.org/download.html
Using VS2015 or VS2017, open freetype.sln from the builds\win32\vc2010 directory
Modify solution to target x64 instead of x86
Modify solution to Configuration Type of DLL instead of LIB
Edit ftoption.h to add two lines at top
#define FT_EXPORT(x) __declspec(dllexport) x
#define FT_BASE(x) __declspec(dllexport) x
Change project config to Release
Build.
You will see warnings, but compile succeeds.
You will have a file "freetype28.dll" (for FreeType 2.8)
Rename this file to "freetype6.dll" and copy to C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools
(replacing the original freetype6.dll located there)

静态链接到 2015 或 2017 工作正常。

于 2018-08-03T19:52:14.853 回答
0

下载和安装 Visual C++ Redistributable Packages for Visual Studio 2013 对我有用。

于 2018-08-03T19:24:51.547 回答