Closed i-can-not-program closed 4 years ago
Your Qt version seems to be outdated. QList::swapItemsAt was introduced in Qt 5.13.
How do I get a newer version of Qt? I tried downloading it from the website but they wanted me to fill out a form, Can I get it in a different way or do I have to fill out the form to get it?
I'm not sure if Ubuntu repos provide a current version of Qt5. Probably not.
Downloading Qt from their website now requires you to fill out that dumb form. You probably don't have many other options beside filling it out if you want a newer version.
Actually though the code that uses QList::swapItemsAt is quite bloated and removing those calls is easy. Will do a commit later that removes it which should allow you to compile on your older Qt version.
Fixed in 6d8abe46d287a558c7a13fe8fc64a2f5e5a53d1b
These are the errors I get when I try to compile it with QtCreator:
../CoinKiller/level.cpp:1092:28: error: ‘class QList<Sprite>’ has no member named ‘swapItemsAt’ 1092 | rightCamLimits.swapItemsAt(i, i+1); | ^
~~../CoinKiller/level.cpp:1097:36: error: ‘class QList<Sprite>’ has no member named ‘swapItemsAt’ 1097 | rightCamLimits.swapItemsAt(j-1, j); | ^~~../CoinKiller/level.cpp:1108:29: error: ‘class QList<Sprite>’ has no member named ‘swapItemsAt’ 1108 | bottomCamLimits.swapItemsAt(i, i+1); | ^~~../CoinKiller/level.cpp:1113:37: error: ‘class QList<Sprite>’ has no member named ‘swapItemsAt’ 1113 | bottomCamLimits.swapItemsAt(j-1, j); | ^~~../CoinKiller/tileseteditorwindow.cpp: In member function ‘void TilesetEditorWindow::loadBehaviors()’: ../CoinKiller/tileseteditorwindow.cpp:308:52: warning: format not a string literal and no format arguments [-Wformat-security] 308 | qDebug("behaviors.xml from: " + time.toLatin1());