mgba-emu / mgba

mGBA Game Boy Advance Emulator
https://mgba.io/
Mozilla Public License 2.0
5.59k stars 769 forks source link

mgba-qt build fails on Debian Jessie #1250

Closed Near1980 closed 5 years ago

Near1980 commented 5 years ago

System: Linux Debian 3.16.0-6-amd64 Qt version: 5.3.2-5 ( Debian repo )

I successfully compiled mgba 0.6.3 on the same environment When building the latest git version I get this:

Build options:

-- Build type: Release
-- Platforms:
--  Game Boy Advance: ON
--  Game Boy: ON
-- Features:
--  Debuggers: ON
--  CLI debugger: OFF
--  GDB stub: ON
--  Video recording: OFF
--  GIF recording: ON
--  Screenshot/advanced savestate support: ON
--  ZIP support: minizip (included)
--  7-Zip support: ON
--  SQLite3 game database: ON
--  ELF loading support: OFF
--  OpenGL support: OpenGL
-- Frontends:
--  Qt: ON
--  SDL (2): ON
--  Profiling: OFF
--  Test harness: OFF
--  Test suite: OFF
--  Python bindings: OFF
--  Examples: OFF
-- Cores:
--  Libretro core: OFF
-- Libraries:
--  Static: OFF
--  Shared: ON
-- Configuring done
-- Generating done

I get the following error when making:

/home/user/gbdev/mgba/mgba-git/src/platform/qt/Window.cpp: In member function ‘void QGBA::Window::setController(QGBA::CoreController*, const QString&)’:
/home/user/gbdev/mgba/mgba-git/src/platform/qt/Window.cpp:1867:4: error: no matching function for call to ‘QTimer::singleShot(int, QGBA::Window*, QGBA::Window::setController(QGBA::CoreController*, const QString&)::<lambda()>)’
   });
    ^
/home/user/gbdev/mgba/mgba-git/src/platform/qt/Window.cpp:1867:4: note: candidates are:
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QTimer:1:0,
                 from /home/user/gbdev/mgba/mgba-git/src/platform/qt/Window.h:13,
                 from /home/user/gbdev/mgba/mgba-git/src/platform/qt/Window.cpp:6:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:81:17: note: static void QTimer::singleShot(int, const QObject*, const char*)
     static void singleShot(int msec, const QObject *receiver, const char *member);
                 ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:81:17: note:   no known conversion for argument 3 from ‘QGBA::Window::setController(QGBA::CoreController*, const QString&)::<lambda()>’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:82:17: note: static void QTimer::singleShot(int, Qt::TimerType, const QObject*, const char*)
     static void singleShot(int msec, Qt::TimerType timerType, const QObject *receiver, const char *member);
                 ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:82:17: note:   candidate expects 4 arguments, 3 provided
[ 95%] Building CXX object qt/CMakeFiles/mgba-qt.dir/GDBWindow.cpp.o
[ 95%] Building CXX object qt/CMakeFiles/mgba-qt.dir/ArchiveInspector.cpp.o
[ 96%] Building CXX object qt/CMakeFiles/mgba-qt.dir/library/LibraryController.cpp.o
qt/CMakeFiles/mgba-qt.dir/build.make:1367: recipe for target 'qt/CMakeFiles/mgba-qt.dir/Window.cpp.o' failed
make[2]: *** [qt/CMakeFiles/mgba-qt.dir/Window.cpp.o] Error 1
make[2]: *** Se espera a que terminen otras tareas....
CMakeFiles/Makefile2:216: recipe for target 'qt/CMakeFiles/mgba-qt.dir/all' failed
make[1]: *** [qt/CMakeFiles/mgba-qt.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
endrift commented 5 years ago

I dropped support for Qt pre-5.4.