Ошибка: не удается найти 'freetype6.dll'

Недавно у меня были некоторые проблемы с инструментом MonoGame Content Pipeline, не загружая текстуры. Сообщение об ошибке "freeimage.dll" не может быть найдено. Я проверил решения на форумах MonoGame и в итоге загрузил 64-битную версию Visual C++ Redistributable Package 2012. Это решило мою проблему, и Content Pipeline мог снова загружать файлы.png. Теперь у конвейера возникают проблемы с загрузкой файлов.spritefont. Он говорит, что отсутствует "freetype.dll". В чем дело со всеми этими отсутствующими DLL-файлами? Я только что скачал распространяемый пакет VC++, но он исправил только текстуры, а не шрифты.


Обновить:

Я попытался загрузить Visual C++ Redistributable Package 2017. Однако проблема остается...

2 ответа

Согласно сообщению об ошибке 5736 в Monogame, это проблема с их связью с распространяемым 2012 годом (который в течение короткого времени не был доступен для скачивания).

Вы можете попытаться исправить это самостоятельно, скомпилировав freetype6 самостоятельно, следуя инструкциям в отчете об ошибках (ниже), или вы можете подождать, пока они исправят проблему, когда исправлена ​​ошибка 4485 (которая, по-видимому, решает большую проблему с их цепочкой зависимостей).), или вы можете увидеть, исправляет ли это новая редакция.

...

Попробуйте загрузить VC++ 2012 Update 4 распространяемый:
https://www.microsoft.com/en-us/download/details.aspx?id=30679

Или попробуйте скомпилировать freetype6 самостоятельно:

mdrejhon прокомментировал 25 мая 2017 г. •

Эврика! Я перекомпилировал FreeType сам и решил эту проблему.

Мне нужно было только следовать измененной версии этих инструкций: Компиляция FreeType в DLL (в отличие от статической библиотеки)

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 года работает отлично.

Загрузка и установка распространяемых пакетов Visual C++ для Visual Studio 2013 работала для меня.

Другие вопросы по тегам