Я пытаюсь скомпилировать Asylia через его make-файл с MinGW ... Я использую не тот компилятор?

Кажется, что MinGW застревает в квадратных скобках в «$(BUILD):» ... А квадратные скобки в MinGW - это вещь Unix / Bash ...

process_begin: CreateProcess(NULL, basename C:/Users/Andy/Desktop/Asylia-master, ...) failed.
'[' is not recognized as an internal or external command,

Нужно ли Cygwin's, чтобы запустить это?

Или несколько простых изменений, которые я не знаю, чтобы MinGW мог правильно запустить make-файл?


Ой... MinGW не обновлялся годами ... Если это проблема, то я думаю, что мое единственное решение - установить gg-g++ Cygwin, а затем выяснить, как с этим скомпилироваться?

1 ответ1

1

На Cygwin 64 бит.

$ wget https://github.com/Quent42340/Asylia/archive/master.zip
$ unzip master.zip
Archive:  master.zip
dcef5e0bc1d5e8de891a9f6b5a538cd7c1a70283
   creating: Asylia-master/
...
   creating: Asylia-master/wiki/
finishing deferred symbolic links:
  Asylia-master/droid/assets/audio -> /home/quentin/Projects/Asylia/audio
  Asylia-master/droid/assets/data -> /home/quentin/Projects/Asylia/data
  Asylia-master/droid/assets/fonts -> /home/quentin/Projects/Asylia/fonts
  Asylia-master/droid/assets/graphics -> /home/quentin/Projects/Asylia/graphics

последние четыре неработающие ссылки, так как они должны быть не абсолютными, а относительными

  Asylia-master/audio == /home/quentin/Projects/Asylia/audio
  Asylia-master/data  == /home/quentin/Projects/Asylia/data
  Asylia-master/fonts == /home/quentin/Projects/Asylia/fonts
  Asylia-master/graphics == /home/quentin/Projects/Asylia/graphics

В любом случае мы также можем игнорировать проблему для сборки

$ make
...
built ... Asylia-master
$ ls -lrt
total 49M
...
-rwxrwxr-x+ 1 Marco Kein  38M Dec 27 22:39 Asylia-master.exe

Бежать с Xterm

$ ./Asylia-master.exe

Пакет напрямую зависит только от общих библиотек SDL2

$ cygcheck ./Asylia-master.exe | grep "^  D"
  D:\cygwin64\bin\cygwin1.dll
  D:\cygwin64\bin\cygSDL2-2-0-0.dll
  D:\cygwin64\bin\cygSDL2_image-2-0-0.dll
  D:\cygwin64\bin\cygSDL2_mixer-2-0-0.dll
  D:\cygwin64\bin\cygSDL2_ttf-2-0-0.dll

Поэтому необходимы следующие пакеты

$ cygcheck -cd |grep SDL2
libSDL2-devel                           2.0.7-1
libSDL2_2.0_0                           2.0.7-1
libSDL2_image-devel                     2.0.2-1
libSDL2_image2.0_0                      2.0.2-1
libSDL2_mixer-devel                     2.0.2-1
libSDL2_mixer2.0_0                      2.0.2-1
libSDL2_ttf-devel                       2.0.14-1
libSDL2_ttf2.0_0                        2.0.14-1

плюс конечно cygwin-devel , make и компилятор

gcc-core                                7.3.0-3
gcc-g++                                 7.3.0-3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .