Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Problem while trying to build fritzing



  • Hello,
    I am trying to compile fritzing, which uses QT, but it keeps saying there is a declaration missing, but I am not used to QT, i don't know which include would solve this

    grs@DESKTOP-E2L1S75:~/fritzing/fritzing-app$ make
    make -f Makefile.Release
    make[1]: Entering directory '/home/grs/fritzing/fritzing-app'
    g++ -c -pipe -O3 -fno-omit-frame-pointer -O2 -Wall -W -D_REENTRANT -fPIC -DLINUX_64 -DDATADIR=\"/usr/share\" -DPKGDATADIR=\"/usr/share/fritzing\" -DGIT_VERSION=\"0.9.6-35-gf0af53a9\" -DGIT_DATE=\"2021-09-22T20:00:03+02:00\" -DBUILD_DATE=\"2021-11-23T16:53:20-03:00\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I/home/grs/fritzing/libgit2/include -I../boost_1_75_0 -Isrc/dialogs -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtSvg -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtConcurrent -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSerialPort -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtXml -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Irelease -isystem /usr/include/libdrm -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o release/fapplication.o src/fapplication.cpp
    src/fapplication.cpp: In member function ‘virtual void FServerThread::run()’:
    src/fapplication.cpp:154:68: error: ‘Qt::SplitBehaviorFlags’ has not been declared
      QStringList tokens = header.split(QRegExp("[ \r\n][ \r\n]*"), Qt::SplitBehaviorFlags::SkipEmptyParts);
                                                                        ^~~~~~~~~~~~~~~~~~
    src/fapplication.cpp:170:51: error: ‘Qt::SplitBehaviorFlags’ has not been declared
      QStringList params = tokens.at(1).split("/", Qt::SplitBehaviorFlags::SkipEmptyParts);
                                                       ^~~~~~~~~~~~~~~~~~
    Makefile.Release:3041: recipe for target 'release/fapplication.o' failed
    make[1]: *** [release/fapplication.o] Error 1
    make[1]: Leaving directory '/home/grs/fritzing/fritzing-app'
    Makefile:40: recipe for target 'release' failed
    make: *** [release] Error 2
    

  • Lifetime Qt Champion

    Looks like you need Qt 5.14 or higher to compile this program.



  • @Christian-Ehrlicher
    I used qmake --version and the output:

    QMake version 3.1
    Using Qt version 5.9.5 in /usr/lib/x86_64-linux-gnu

    So I need higher than 5.9.5 or maybe is a linking problem, when I try to compile it doesn't find the right version?


  • Lifetime Qt Champion

    @GRS26 said in Problem while trying to build fritzing:

    or maybe is a linking problem

    As I said - you need Qt 5.14 or higher since - as you can see when you follow my the link in my first post - the used enum is only available in Qt 5.14 and up. Or ask the developer of your app you're trying to compile to add support for your ancient Qt version.


Log in to reply