Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Compiling qt version SuSE (gamepad)
03-27-2015, 02:23 PM
Post: #1
Compiling qt version SuSE (gamepad)
Hello.

I have tried to compile ppsspp.

I have done the git clone to download the software. Once downloaded I have installed all the dependent libraries until running ./b.sh has compiled without problems.

I can run the compiled ppsspp and works well. But I try my gamepad, that is well mapped in the KDE joystick configuration section, but when I run ppsspp it detect my 4 buttons that should go to square, triangle, cirecle and cross to up, right, down and left, making it useless. Because KDE detects the gamepad well, I have thought that maybe the qt version of ppsspp uses well my gamepad, but when I run ./b.sh --qt I get the following error:
Code:
Makefile.Native:730: warning: overriding recipe for target '.obj/Native/utf8.o'
Makefile.Native:721: warning: ignoring old recipe for target '.obj/Native/utf8.o'
Makefile.Native:733: warning: overriding recipe for target '.obj/Native/parsers.o'
Makefile.Native:721: warning: ignoring old recipe for target '.obj/Native/parsers.o'
g++ -c -pipe -Wno-unused-function -Wno-unused-variable -Wno-strict-aliasing -fno-strict-aliasing -Wno-unused-parameter -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -msse2 -O3 -ffast-math -fPIC -std=c++0x -Wall -W -D_REENTRANT -DUSING_QT_UI -DUSE_FFMPEG -D_M_X64 -D_ARCH_64 -DPPSSPP_GIT_VERSION="\"v1.0.1-207-g79fc557\"" -D__STDC_CONSTANT_MACROS -Doverride -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../Qt -I. -I../ext/zlib -I../Common -I/home/jepsab/ppsspp-git/ppsspp/Qt/../ffmpeg/linux/x86_64/include -I../native -I/home/jepsab/ppsspp-git/ppsspp/Qt/../native/ext/glew -I/home/jepsab/ppsspp-git/ppsspp/Qt/../native/ext/rg_etc1 -I../native/ext/cityhash -I/home/jepsab/ppsspp-git/ppsspp/Qt/../native/ext/jpge -I/home/jepsab/ppsspp-git/ppsspp/Qt/../native/ext/stb_vorbis -I../ext/snappy -I../ext/udis86 -I/home/jepsab/ppsspp-git/ppsspp/Qt/../native/ext/vjson -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtOpenGL -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -I.moc/Native -I/usr/lib64/qt5/mkspecs/linux-g++ -o .obj/Native/thin3d_gl.o ../native/thin3d/thin3d_gl.cpp
../native/thin3d/thin3d_gl.cpp:139:18: error: expected ‘;’ at end of member declaration
  ~Thin3DGLBuffer() override {
                  ^
<command-line>:0:10: error: expected unqualified-id before numeric constant
../native/thin3d/thin3d_gl.cpp:139:20: note: in expansion of macro ‘override’
  ~Thin3DGLBuffer() override {
                    ^
../native/thin3d/thin3d_gl.cpp:144:47: error: expected ‘;’ at end of member declaration
  void SetData(const uint8_t *data, size_t size) override {
                                               ^
<command-line>:0:10: error: expected unqualified-id before numeric constant
../native/thin3d/thin3d_gl.cpp:144:49: note: in expansion of macro ‘override’
  void SetData(const uint8_t *data, size_t size) override {
                                                 ^
../native/thin3d/thin3d_gl.cpp:150:62: error: expected ‘;’ at end of member declaration
  void SubData(const uint8_t *data, size_t offset, size_t size) override {
                                                              ^
<command-line>:0:10: error: expected unqualified-id before numeric constant
../native/thin3d/thin3d_gl.cpp:150:64: note: in expansion of macro ‘override’
  void SubData(const uint8_t *data, size_t offset, size_t size) override {
                                                                ^
../native/thin3d/thin3d_gl.cpp:811:1: error: expected ‘}’ at end of input
}
^
../native/thin3d/thin3d_gl.cpp: In constructor ‘Thin3DGLBuffer::Thin3DGLBuffer(size_t, uint32_t)’:
../native/thin3d/thin3d_gl.cpp:129:20: error: ‘buffer_’ was not declared in this scope
   glGenBuffers(1, &buffer_);
                    ^
../native/thin3d/thin3d_gl.cpp:130:3: error: ‘target_’ was not declared in this scope
   target_ = (flags & T3DBufferUsage::INDEXDATA) ? GL_ELEMENT_ARRAY_BUFFER : GL_ARRAY_BUFFER;
   ^
../native/thin3d/thin3d_gl.cpp:131:3: error: ‘usage_’ was not declared in this scope
   usage_ = 0;
   ^
../native/thin3d/thin3d_gl.cpp:136:3: error: ‘knownSize_’ was not declared in this scope
   knownSize_ = 0;
   ^
../native/thin3d/thin3d_gl.cpp: At global scope:
../native/thin3d/thin3d_gl.cpp:138:2: error: expected unqualified-id at end of input
  }
  ^
Makefile.Native:712: recipe for target '.obj/Native/thin3d_gl.o' failed
make[1]: *** [.obj/Native/thin3d_gl.o] Error 1
make[1]: Leaving directory '/home/jepsab/ppsspp-git/ppsspp/build-qt'
Makefile:44: recipe for target 'sub-Native-pro-make_first-ordered' failed
make: *** [sub-Native-pro-make_first-ordered] Error 2

Does anyone know if I'm missing any library? I don't know what the
Code:
<command-line>:0:10: error: expected unqualified-id before numeric constant
means.

Any help is welcome.
Find all posts by this user
Quote this message in a reply
03-27-2015, 03:08 PM (This post was last modified: 03-27-2015 03:12 PM by Bigpet.)
Post: #2
RE: Compiling qt version SuSE (gamepad)
First of all the joypad handling code is 100% shared between the SDL and QT versions (which is why you need SDL for gamepad support even with the Qt version)

Secondly, when looking for the cause of the compilation failure always look at the first error, subsequent errors may just be because the compiler couldn't recover from the first error (as is the case with your log)

So the error you need to worry about is

Code:
../native/thin3d/thin3d_gl.cpp:139:18: error: expected ‘;’ at end of member declaration
  ~Thin3DGLBuffer() override {
                  ^

Either your compiler does not understand the "override" keyword or some macro is interfering with it. Try to update your compiler to a newer version

edit: quick google search reveals that you need GCC 4.7 or higher for that keyword to work (I mean if you really don't want to update for some reason and don't mind it possibly failing somewhere else you can also just remove the "override" everywhere since it's just a compile time check and does not usually change the resulting binary)
Find all posts by this user
Quote this message in a reply
03-27-2015, 05:26 PM
Post: #3
RE: Compiling qt version SuSE (gamepad)
Thanks Bigpet for your answer.

I hace checked my version of g++ and is 4.8.3. I have removed many override and I have been compiling to the point that I get this error
Code:
g++ -c -pipe -Wno-unused-function -Wno-unused-variable -Wno-strict-aliasing -fno-strict-aliasing -Wno-unused-parameter -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -msse2 -O3 -ffast-math -std=c++0x -Wall -W -D_REENTRANT -fPIE -DUSING_QT_UI -DUSE_FFMPEG -D_M_X64 -D_ARCH_64 -DPPSSPP_GIT_VERSION="\"v1.0.1-207-g79fc557\"" -D__STDC_CONSTANT_MACROS -Doverride -DSDL -D_REENTRANT -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../Qt -I. -I../ext/zlib -I../Common -I../ffmpeg/linux/x86_64/include -I../../ppsspp -I../Common -I../native -I../native/ext -I../native/ext/glew -I../Qt -I../Qt/Debugger -isystem /usr/include/SDL2 -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtOpenGL -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -I.moc/ppsspp -I.ui/ppsspp -I/usr/lib64/qt5/mkspecs/linux-g++ -o .obj/ppsspp/mainwindow.o ../Qt/mainwindow.cpp
In file included from /usr/include/qt5/QtCore/QtCore:39:0,
                 from ../../ppsspp/Qt/mainwindow.h:4,
                 from ../UI/HostTypes.h:24,
                 from ../UI/NativeApp.cpp:85:
/usr/include/qt5/QtCore/qprocess.h:138:40: error: expected ‘;’ at end of member declaration
     bool open(OpenMode mode = ReadWrite) Q_DECL_OVERRIDE;

I'll try to upgrade the compiler to version 4.9 and check if it understands the override keyword.

Thanks again for your answer.
Find all posts by this user
Quote this message in a reply
03-27-2015, 07:26 PM
Post: #4
RE: Compiling qt version SuSE (gamepad)
Hi!

I have upgraded the compiler and I have compiled without any problem (thanks Bigpet). Now I can run build-qt/ppsspp but the gamepad is still not well mapped. It's strange because it works well in dolphin-emu. I'll keep investigating.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: