Получение Allegro5 для сборки на Win7 с помощью MinGW (не может скомпилировать TTF)

Система и среда

  • Windows 7 (64-разрядная версия)
  • МинГВ 4.6.1
  • Eclipse Indigo (на самом деле не используется в процессе сборки)
  • Windows PowerShell (запуск от имени администратора)

Краткое изложение проблемы

Я пытаюсь собрать Allegro5 в приведенной выше среде. Сначала это работало, и я смог связать аллегро и аллегро-изображение, и проблем не возникло. Однако, когда я попытался связать с allegro-ttf, он не был обнаружен.

Я вернулся к своим журналам, и freetype не был найден, поэтому поддержка ttf была прекращена; ой! Я получил фритайп и начал переделывать Allegro5.

Я не буду копировать полные сообщения сборки, но в новый каталог сборки:

cmake .. -G "MinGW Makefiles"
...stuff
Found Freetype: C:/Program Files (x86)/GnuWin32/lib/libfreetype.dll.a
...stuff

Хорошо смотритесь. Давайте скомпилируем!

C:\Program Files\MinGW\allegro\build> mingw32-make -j4
...stuff
Scanning dependencies of target allegro_acodec
[ 24%] Building C object addons/acodec/CMakeFiles/allegro_acodec.dir/acodec.c.obj
[ 24%] Building C object addons/acodec/CMakeFiles/allegro_acodec.dir/wav.c.obj
Linking C shared library ..\..\lib\allegro_acodec-5.0.dll
Creating library file: ..\..\lib\liballegro_acodec.dll.a
[ 24%] Built target allegro_acodec
Scanning dependencies of target allegro_ttf
"C:/Program: Interrupt/Exception caught (code = 0xc0000005, addr = 0x004132f6)
mingw32-make[1]: *** [addons/ttf/CMakeFiles/allegro_ttf.dir/all] Error 255
mingw32-make: *** [all] Error 2

Другие детали

Я мог бы просто облегчить себе жизнь и получить готовые двоичные файлы, но это в основном образовательный процесс. Тот, который поставил меня в тупик на смущающее количество времени.

Я установил freetype2, который теперь обнаружен. Таким образом, ttf включается в процесс сборки. Я не уверен, виноват ли freetype2 или нет. Я позаботился о том, чтобы получить файлы разработки, но компиляция не удалась. Затем я попытался собрать freetype2 самостоятельно, но это ничего не изменило, та же проблема.

Я не уверен, в чем проблема. 0x5 - это нарушение прав доступа, я полагаю? Может быть, это связано с тем, что в "Program Files" есть пробел, а в ошибке мы видим "C:/Program"? Я не указываю пути напрямую, они находятся в моих переменных пути. Я пытался заключить свои пути в кавычки, но из-за этого они вообще не работают. Может есть другой метод?

Я здесь как рыба в воде. Буду признателен за любую помощь. Пожалуйста, прокомментируйте, если вам нужна дополнительная информация о моей настройке!

Спасибо за ваше время ‹3


person Coltin    schedule 22.02.2012    source источник


Ответы (1)


Если у вас есть c:\allegro\build (где вы запускаете cmake), я бы создал c:\allegro\build\deps\lib c:\allegro\build\deps\include и поместил файлы (например, freetype и т. д.) там. Allegro автоматически просканирует эти места.

person Matthew    schedule 23.02.2012
comment
После перемещения freetype в ..\build\deps\lib и ..\build\deps\include он собран/скомпилирован без проблем. Большое спасибо! - person Coltin; 24.02.2012