Search code examples
qtcommon-lispquicklisp

Cannot compile Common-Qt


I'm trying to compile Common-Qt using Quicklisp, by executing (ql:quickload 'qt). However, when I try to do so, I get the following error:

OPERATION-ERROR while invoking #<COMPILE-OP > on #<CPP->SO "qt" "so" "commonqt">

After going to the installation folder, I run qmake followed by make as suggested here. This fails, with the following error:

commonqt.cpp: In function ‘void* sw_make_metaobject(void*, char*, int*)’: commonqt.cpp:263:58: error: cannot convert ‘char*’ to ‘const QByteArrayData* {aka const QArrayData*}’ in initialization QMetaObject tmp = { { parent, strings, data, 0 } };

This is followed by a bunch more errors, but this is the one that starts it all. What's going on here and what can I do about it?


Solution

  • This looks like you (or ASDF) tries to compile commonQt with QT5. In a shell, try:

    qmake -v

    This should output the Qt version used. Some distros (I don't know Manjaro Linux) install both Qt4 and Qt5 and provide qmake alternatives named qmake-qt4 and qmake-qt5. So you might want to try to run:

    qmake-qt4 commonqt.pro make

    HTH, Ralf Mattes