| Эмуляция > Прочие эмуляторы |
| Как скомпилировать эмуляторы от Robert Brooglia под linux/win? |
| (1/1) |
| evgs:
Сабж: https://github.com/Rakashazi/emu-ex-plus-alpha http://www.explusalpha.com/home/ Эта линейка эмуляторов очень давно нравится благодаря своей оболочке "imagine". Как её скомпилить хотя бы под xubuntu 14.04 для использования на десктопе? fceux, gambatte, nestopia - удалось cобрать самому, но там readme было нормальное, и нужные либы указаны. с punes'ом автор помог (указал каких либ не хватает, -> ./autogen.sh -> ./configure -> make). |
| Heidr:
Так можно же уже собранные скачать: http://www.explusalpha.com/home/general-info/platforms/linux Я сейчас скачал, позапускал некоторые, всё работает. Только Сатурн собран под x86, пришлось установить одну 32-битную библиотеку для запуска. Что-то крестовину геймпада не получается забиндить, только рычажки. |
| s1nka:
Глянул сабж. Это какая-та дикая жесть. Миллионы make-файлов, которые друг друга инклюдят. :). Решил побаловаться. Для начала глянул ./imagine/doc/INSTALL 1) Пишут, что нужно в системе прописать путь до папки ./imagine/ в переменную IMAGINE_PATH --- Код: (bash) ---export IMAGINE_PATH=$(pwd) --- Конец кода --- 2) Нужно собрать imagine-sdk. Делается через ./imagine/bundle/all/makeAll-linux-x86-static.sh. Предварительно файл нужно сделать выполняемым через --- Код: (bash) ---chmod +x makeAll-linux-x86-static.sh --- Конец кода --- --- Код: (bash) ---chmod +x runMakefiles.sh --- Конец кода --- 3) Далее запускаем компиляцию нужного варианта. В моем случае это linux x86 --- Код: (bash) ---make -f linux-x86.mk install V=1 -j4 --- Конец кода --- Вот тут началась дичь. Сборщик внезапно потерял у меня в системе хедеры для glib-2.0 и dbus-1. Пришлось прописать в ./imagine/make/common.mk после кучи ifndef ... endif --- Код: ---CPPFLAGS += -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -lglib-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -ldbus-1 --- Конец кода --- При этом провославно правильный вариант через pkg-config возвращает пустоту, подозреваю в одном из make-файла затираются какие-то важные переменные. Дальше ругань пошла на тему "Не нашел хедеров для блютуза, не нашел хедеров для libarchive, не нашел хедеров для dbus-glib-1". После установки нужных пакетов, сборка пошла дальше и БАЦ, вывалилось на ошибках: --- Код: ---In file included from ./include/imagine/data-type/image/LibPNG.hh:24:0, from ./src/data-type/image/LibPNG.cc:18: ./src/data-type/image/LibPNG.cc: In function ‘void png_err(png_const_structrp)’: /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1939:34: error: redefinition of ‘void png_err(png_const_structrp)’ # define png_chunk_error(s1,s2) png_err(s1) ^ ./src/data-type/image/LibPNG.cc:42:19: note: in expansion of macro ‘png_chunk_error’ CLINK void PNGAPI png_chunk_error(png_const_structrp png_ptr, png_const_charp error_message) ^ /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1938:28: note: ‘void png_err(png_const_structrp)’ previously defined here # define png_error(s1,s2) png_err(s1) ^ ./src/data-type/image/LibPNG.cc:34:19: note: in expansion of macro ‘png_error’ CLINK void PNGAPI png_error(png_const_structrp png_ptr, png_const_charp error_message) ^ ./src/data-type/image/LibPNG.cc: At global scope: /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1951:32: error: expected unqualified-id before ‘void’ # define png_warning(s1,s2) ((void)(s1)) ^ ./src/data-type/image/LibPNG.cc:51:19: note: in expansion of macro ‘png_warning’ CLINK void PNGAPI png_warning(png_const_structrp png_ptr, png_const_charp warning_message) ^ /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1951:32: error: expected ‘)’ before ‘void’ # define png_warning(s1,s2) ((void)(s1)) ^ ./src/data-type/image/LibPNG.cc:51:19: note: in expansion of macro ‘png_warning’ CLINK void PNGAPI png_warning(png_const_structrp png_ptr, png_const_charp warning_message) ^ /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1951:32: error: expected ‘)’ before ‘void’ # define png_warning(s1,s2) ((void)(s1)) ^ ./src/data-type/image/LibPNG.cc:51:19: note: in expansion of macro ‘png_warning’ CLINK void PNGAPI png_warning(png_const_structrp png_ptr, png_const_charp warning_message) ^ /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1952:38: error: expected unqualified-id before ‘void’ # define png_chunk_warning(s1,s2) ((void)(s1)) ^ ./src/data-type/image/LibPNG.cc:57:19: note: in expansion of macro ‘png_chunk_warning’ CLINK void PNGAPI png_chunk_warning(png_const_structrp png_ptr, png_const_charp warning_message) ^ /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1952:38: error: expected ‘)’ before ‘void’ # define png_chunk_warning(s1,s2) ((void)(s1)) ^ ./src/data-type/image/LibPNG.cc:57:19: note: in expansion of macro ‘png_chunk_warning’ CLINK void PNGAPI png_chunk_warning(png_const_structrp png_ptr, png_const_charp warning_message) ^ /home/sinka/imagine-sdk/linux-x86/lib/pkgconfig/../../include/libpng16/png.h:1952:38: error: expected ‘)’ before ‘void’ # define png_chunk_warning(s1,s2) ((void)(s1)) ^ ./src/data-type/image/LibPNG.cc:57:19: note: in expansion of macro ‘png_chunk_warning’ CLINK void PNGAPI png_chunk_warning(png_const_structrp png_ptr, png_const_charp warning_message) ^ /media/nfs-mount/media/4tb01/games/emuls/multi/emu-ex-plus-alpha-git/imagine//make/common.mk:32: ошибка выполнения рецепта для цели «build/linux-x86/obj/data-type/image/LibPNG.o» make: *** [build/linux-x86/obj/data-type/image/LibPNG.o] Ошибка 1 --- Конец кода --- На этом уже лень было гуглить проблему и ковырять сами исходники. В целом автору бы подружиться с cmake'ом, кучу проблем можно было бы избежать. з.ы. на гитхабе отметил проект, как будет время - обязательно что-нибудь придумаю для сборки проекта. |
| evgs:
s1nka, да, я вижу - это полный треш. |
| Навигация |
| Главная страница сообщений |