eteran / edb-debugger

edb is a cross-platform AArch32/x86/x86-64 debugger.
GNU General Public License v2.0
2.66k stars 321 forks source link

Compilation error #865

Closed rach1tarora closed 4 months ago

rach1tarora commented 4 months ago

home/user/edb-debugger/src/ByteShiftArray.cpp: In member function ‘ByteShiftArray& ByteShiftArray::shr()’: /home/user/edb-debugger/src/ByteShiftArray.cpp:61:21: error: ‘class QVector’ has no member named ‘rbegin’; did you mean ‘begin’? std::rotate(data.rbegin(), data.rbegin() + 1, data.rend()); ^~ begin /home/user/edb-debugger/src/ByteShiftArray.cpp:61:37: error: ‘class QVector’ has no member named ‘rbegin’; did you mean ‘begin’? std::rotate(data.rbegin(), data.rbegin() + 1, data.rend()); ^~ begin /home/user/edb-debugger/src/ByteShiftArray.cpp:61:57: error: ‘class QVector’ has no member named ‘rend’; did you mean ‘end’? std::rotate(data.rbegin(), data.rbegin() + 1, data_.rend()); ^~~~ end src/CMakeFiles/edb.dir/build.make:286: recipe for target 'src/CMakeFiles/edb.dir/ByteShiftArray.cpp.o' failed make[2]: [src/CMakeFiles/edb.dir/ByteShiftArray.cpp.o] Error 1 CMakeFiles/Makefile2:646: recipe for target 'src/CMakeFiles/edb.dir/all' failed make[1]: [src/CMakeFiles/edb.dir/all] Error 2 Makefile:145: recipe for target 'all' failed make: *** [all] Error 2

Ive tried almost every workaround, unable to do so

Ubuntu 16.04.7 LTS \n \l\

g++ (Ubuntu 7.5.0-3ubuntu1~16.04) 7.5.0

gcc (Ubuntu 7.5.0-3ubuntu1~16.04) 7.5.0
10110111 commented 4 months ago

The missing function was introduced in Qt 5.6. Your Ubuntu version reached its EOL almost 3 years ago, so you need to upgrade something. Your whole Ubuntu, or Qt from Qt's official installer, or build Qt from sources.

rach1tarora commented 4 months ago

okay thank you! i will do that

eteran commented 4 months ago

Yeah, as a baseline, we are currently targeting Qt 5.15 LTS as that is the current supported LTS version of Qt

rach1tarora commented 4 months ago

thank you, yeah i was dumb enough to not realize that.