Попытка установить SDL Perl на Windows 10, проблемы с "make" (и "dmake" и "gmake") - PullRequest
0 голосов
/ 30 марта 2020

Я использую Windows 10 и Клубника Perl. Я нашел этот хороший урок по созданию 3D движка в Perl. Что требует SDL . Уже пару дней я пытаюсь установить его, но он не работает. Сначала я попробовал через CPAN, но безуспешно. Нет, я пытаюсь вручную, но я получаю сообщения об ошибках при использовании "make". Если я наберу "perl -V: make", это говорит, что я должен использовать "dmake". Если я сделаю это, появится предупреждение dmake, в котором говорится, что вместо этого я должен использовать gmake. Если я сделаю это, появится следующее сообщение:

"to undefined at C:/Perl64/site/lib/ExtUtils/Install.pm line 1199. gmake: *** [Makefile:942: pm_to_blib] Error 2"

Есть предложения, как это исправить? Или есть простой (более простой) способ установки SDL?

1 Ответ

0 голосов
/ 30 марта 2020

Кажется, что Perl модуль SDL использует SDL версии 1.2.14, тогда как документация гласит:

Наилучшим способом действий является переход на SDL 2.0 или более позднюю версию как можно быстрее

Итак, я бы рекомендовал вместо этого использовать привязки Python PySDL2. Следующее работает для меня на Windows 10:

Скачано Python 3.8 с здесь :

https://www.python.org/ftp/python/3.8.2/python-3.8.2-amd64.exe

Затем добавили следующее в переменные среды пользователя для «Путь» (ПРИМЕЧАНИЕ: в начале, а не в конце):

%USERPROFILE%\AppData\Local\Programs\Python\Python38
%USERPROFILE%\AppData\Local\Programs\Python\Python38\Scripts

Затем из командной строки install pysdl2 :

>pip install pysdl2
Collecting pysdl2
  Downloading https://files.pythonhosted.org/packages/60/ba/ddb48261848874eeb3d54963edbf3c74fff86499746aeb23151f123953bb/PySDL2-0.9.7-py3-none-any.whl (541kB)
     |████████████████████████████████| 542kB 2.2MB/s
Installing collected packages: pysdl2
Successfully installed pysdl2-0.9.7

>pip install pysdl2-dll
Collecting pysdl2-dll
  Downloading https://files.pythonhosted.org/packages/01/37/f9aa5472fb85ce94507c69110916133ad29b650d2bf277de2cce37d7ad7d/pysdl2_dll-2.0.12-py2.py3-none-win_amd64.whl (2.5MB)
     |████████████████████████████████| 2.5MB 3.2MB/s
Installing collected packages: pysdl2-dll
Successfully installed pysdl2-dll-2.0.12

Затем добавьте новую переменную среды пользователя PYTHONPATH со значением:

%USERPROFILE%\AppData\Local\Programs\Python\Python38\Lib\site-packages

Закройте командную строку и снова откройте новую, чтобы обновить переменные среды , Затем я создал тестовый Python скрипт:

import sys
import sdl2.ext
resource_dir=r'C:\Users\hakon\AppData\Local\Programs\Python\Python38\Lib\site-packages\sdl2\examples'
RESOURCES = sdl2.ext.Resources(resource_dir, "resources")
sdl2.ext.init()

window = sdl2.ext.Window("Hello World!", size=(640, 480))
window.show()

factory = sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)
sprite = factory.from_image(RESOURCES.get_path("hello.bmp"))

spriterenderer = factory.create_sprite_render_system(window)
spriterenderer.render(sprite)

processor = sdl2.ext.TestEventProcessor()
processor.run(window)

sdl2.ext.quit()

и, наконец, запустил его из командной строки:

> python test.py
...