Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. forgot to setup the environment using 'qmake -projects'

forgot to setup the environment using 'qmake -projects'

Scheduled Pinned Locked Moved Solved General and Desktop
environment
23 Posts 4 Posters 2.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Offline
    U Offline
    uglybug
    wrote on last edited by
    #7

    was marked as 'solved' by mistake. i still need help as the last rebuild 'compile output' was:
    Error: dependent '.qmake.stash' does not exist.
    22:31:00: The process "C:\Qt\QT-6.5.3_B\Tools\QtCreator\bin\jom\jom.exe" exited with code 2.
    Error while building/deploying project ImageViewer (kit: Qt 6.7.1 (qt6_design_studio_reduced_version))
    When executing step "Make"

    is (kit: Qt 6.7.1 (qt6_design_studio_reduced_version) simular to "Project Template" that @Pl45m4 asked me about ?

    Pl45m4P 1 Reply Last reply
    0
    • U uglybug

      was marked as 'solved' by mistake. i still need help as the last rebuild 'compile output' was:
      Error: dependent '.qmake.stash' does not exist.
      22:31:00: The process "C:\Qt\QT-6.5.3_B\Tools\QtCreator\bin\jom\jom.exe" exited with code 2.
      Error while building/deploying project ImageViewer (kit: Qt 6.7.1 (qt6_design_studio_reduced_version))
      When executing step "Make"

      is (kit: Qt 6.7.1 (qt6_design_studio_reduced_version) simular to "Project Template" that @Pl45m4 asked me about ?

      Pl45m4P Offline
      Pl45m4P Offline
      Pl45m4
      wrote on last edited by Pl45m4
      #8

      @uglybug

      So how did you install Qt?

      is (kit: Qt 6.7.1 (qt6_design_studio_reduced_version) simular to "Project Template" that @Pl45m4 asked me about ?

      The "kit" is the current config of Qt version, compiler and other tools you are running to build your program.
      I really don't know why qt6_design_studio_reduced_version is in there and where it links to. Also why you have something pointing to a Design Studio directory when trying to include or look for Qt DLLs?

      You find "Project template" under "New project...". There you can select the type of app you want to create... project with Qt or pure C++, Qt Widget or Qt Quick QML app, QMake or CMake ... etc. etc.

      I would say your installation is pretty messed up.
      Go for a clean re-install (using Qt online installer, for example), as you don't seem to lose anything as it's not working anyway.
      Then create a new project in QtCreator via the project wizard. You can then work with the template and/or add existing files later.

      By the way:
      It seems like you are trying to learn OpenCV... I would go (and learn) with CMake then...
      The integration of OCV with CMake is way easier as CMake is a widely used buildsystem vs. Qt's own and "smaller" QMake.
      The recommendation and "standard" for Qt projects went from QMake in Qt5 and below, to CMake with Qt6 and above....

      This topic here describes a similar issue and OP there claimed it was some license issue?!
      So again, how did you install Qt and what version/license do you use?


      If debugging is the process of removing software bugs, then programming must be the process of putting them in.

      ~E. W. Dijkstra

      U 1 Reply Last reply
      1
      • Pl45m4P Pl45m4

        @uglybug

        So how did you install Qt?

        is (kit: Qt 6.7.1 (qt6_design_studio_reduced_version) simular to "Project Template" that @Pl45m4 asked me about ?

        The "kit" is the current config of Qt version, compiler and other tools you are running to build your program.
        I really don't know why qt6_design_studio_reduced_version is in there and where it links to. Also why you have something pointing to a Design Studio directory when trying to include or look for Qt DLLs?

        You find "Project template" under "New project...". There you can select the type of app you want to create... project with Qt or pure C++, Qt Widget or Qt Quick QML app, QMake or CMake ... etc. etc.

        I would say your installation is pretty messed up.
        Go for a clean re-install (using Qt online installer, for example), as you don't seem to lose anything as it's not working anyway.
        Then create a new project in QtCreator via the project wizard. You can then work with the template and/or add existing files later.

        By the way:
        It seems like you are trying to learn OpenCV... I would go (and learn) with CMake then...
        The integration of OCV with CMake is way easier as CMake is a widely used buildsystem vs. Qt's own and "smaller" QMake.
        The recommendation and "standard" for Qt projects went from QMake in Qt5 and below, to CMake with Qt6 and above....

        This topic here describes a similar issue and OP there claimed it was some license issue?!
        So again, how did you install Qt and what version/license do you use?

        U Offline
        U Offline
        uglybug
        wrote on last edited by uglybug
        #9

        @Pl45m4 > So how did you install Qt?
        i used this site: https://www.qt.io/download-open-source
        and downloaded the Qt Online Installer
        qt-creator-opensource-linux-x86_64-14.0.1.run

        @Pl45m4 thanks for the help.
        "messed up" is an understatement
        i am unable to get past page 12 in the book, so OpenCV is even mentioned in this book yet.

        the 'qt6_design_studio_reduced_version'
        i think??? comes from the installation's default install options.

        (this was when i was trying to use Windows11 last week and could not get the example to work so...because the book's author was using Linux in his example, i decided to try that, using WSL- Ubuntu)

        i do not know what should be chosen in a fresh install to meet the book's author statement: "GCC5 or later on Linux".

        1 Reply Last reply
        0
        • U Offline
          U Offline
          uglybug
          wrote on last edited by uglybug
          #10

          update: thank you @Pl45m4 because of your suggestion of "create a new project in QtCreator via the project wizard"
          was awesome, as i did not know about that and it allowed me to use it as a 'template' for the book example !
          that book example was created by the author using Qt5 and i am trying to use Qt6.
          so even though i modified the 'template' by replacing the 4 book example files, Qt6 generated a few errors that i was able to fix
          except this one which is beyond my skills to correct.
          so i think if someone can help resolve "QRegExp" has not been declared", the program might build w/o further compile errors.
          it is the 2nd "QRegExp" in line 149 that the 'Complie Output' screen flags.

          question: why is the 1st occurrence of "QRegExp" not flagged as undeclared but the 2nd one is ???

          ....\mainwindow.cpp: In member function 'void MainWindow::nextImage()':

          ....\mainwindow.cpp:149:33: error: 'QRegExp' was not declared in this scope
          //line 149 | int idx = fileNames.indexOf(QRegExp(QRegExp::escape(current.fileName())));

          file: mainwindow.cpp [snippet relavant to error]
          void MainWindow::prevImage()
          {
          QFileInfo current(currentImagePath);
          QDir dir = current.absoluteDir();
          QStringList nameFilters;
          nameFilters << ".png" << ".bmp" << "*.jpg";
          QStringList fileNames = dir.entryList(nameFilters, QDir::Files, QDir::Name);
          line149 int idx = fileNames.indexOf(QRegExp(QRegExp::escape(current.fileName())));
          if(idx > 0) {
          showImage(dir.absoluteFilePath(fileNames.at(idx - 1)));
          } else {
          QMessageBox::information(this, "Information", "Current image is the first one.");
          }
          }

          Pl45m4P 1 Reply Last reply
          0
          • U uglybug

            update: thank you @Pl45m4 because of your suggestion of "create a new project in QtCreator via the project wizard"
            was awesome, as i did not know about that and it allowed me to use it as a 'template' for the book example !
            that book example was created by the author using Qt5 and i am trying to use Qt6.
            so even though i modified the 'template' by replacing the 4 book example files, Qt6 generated a few errors that i was able to fix
            except this one which is beyond my skills to correct.
            so i think if someone can help resolve "QRegExp" has not been declared", the program might build w/o further compile errors.
            it is the 2nd "QRegExp" in line 149 that the 'Complie Output' screen flags.

            question: why is the 1st occurrence of "QRegExp" not flagged as undeclared but the 2nd one is ???

            ....\mainwindow.cpp: In member function 'void MainWindow::nextImage()':

            ....\mainwindow.cpp:149:33: error: 'QRegExp' was not declared in this scope
            //line 149 | int idx = fileNames.indexOf(QRegExp(QRegExp::escape(current.fileName())));

            file: mainwindow.cpp [snippet relavant to error]
            void MainWindow::prevImage()
            {
            QFileInfo current(currentImagePath);
            QDir dir = current.absoluteDir();
            QStringList nameFilters;
            nameFilters << ".png" << ".bmp" << "*.jpg";
            QStringList fileNames = dir.entryList(nameFilters, QDir::Files, QDir::Name);
            line149 int idx = fileNames.indexOf(QRegExp(QRegExp::escape(current.fileName())));
            if(idx > 0) {
            showImage(dir.absoluteFilePath(fileNames.at(idx - 1)));
            } else {
            QMessageBox::information(this, "Information", "Current image is the first one.");
            }
            }

            Pl45m4P Offline
            Pl45m4P Offline
            Pl45m4
            wrote on last edited by
            #11

            @uglybug said in forgot to setup the environment using 'qmake -projects':

            QRegExp" has not been declared"

            QRegEx got removed from Qt6 and is now in a Qt5-Qt6 compatibility module.
            Use QRegularExpression instead. ( #include <QRegularExpression>)

            • https://doc.qt.io/qt-6/qregularexpression.html

            If debugging is the process of removing software bugs, then programming must be the process of putting them in.

            ~E. W. Dijkstra

            1 Reply Last reply
            1
            • U Offline
              U Offline
              uglybug
              wrote on last edited by
              #12

              trying to post some new Complie Output errors but keep getting this forum error:
              Error

              Post content was flagged as spam by Akismet.com

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #13

                Try to post a reduced version of the compiler error.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • U Offline
                  U Offline
                  uglybug
                  wrote on last edited by uglybug
                  #14

                  new build error:
                  regarding ".exactMatch" deprecated in Qt6 so i added #include QRegExp in mainwindow.h
                  which required "core5compat" to be added to QT += core gui network core5compat in ImageViewer.pro

                  original offending ".exactMatch" in mainwindow.cpp file.

                  fileNames = dialog.selectedFiles();
                  if(QRegExp(".+\.(png|bmp|jpg)").exactMatch(fileNames.at(0))) {
                  currentImage->pixmap().save(fileNames.at(0));

                  i tried to fix with: "(QRegExp::pattern(fileNames.at(0))) "
                  which is causing Compile Output error of, a regular expression compatibility with a boolean.
                  so should "(QRegularExpression(".+\.(png|bmp|jpg" be put inside of (QRegExp::pattern() ???

                  [ maybe the proper solution is to build this book example in Qt5 instead of trying to adapt it to build in Qt6 ????]
                  is that easy to do ???

                  ".exactMatch" is discontinued in Qt6 so i am trying "QRegExp::pattern"

                      if(QRegularExpression(".+\\.(png|bmp|jpg)") (QRegExp::pattern(fileNames.at(0))) {
                          currentImage->pixmap().save(fileNames.at(0));
                      } else {
                          QMessageBox::information(this, "Information", "Save error: bad format or filename.");
                  
                  Pl45m4P 1 Reply Last reply
                  0
                  • U uglybug

                    new build error:
                    regarding ".exactMatch" deprecated in Qt6 so i added #include QRegExp in mainwindow.h
                    which required "core5compat" to be added to QT += core gui network core5compat in ImageViewer.pro

                    original offending ".exactMatch" in mainwindow.cpp file.

                    fileNames = dialog.selectedFiles();
                    if(QRegExp(".+\.(png|bmp|jpg)").exactMatch(fileNames.at(0))) {
                    currentImage->pixmap().save(fileNames.at(0));

                    i tried to fix with: "(QRegExp::pattern(fileNames.at(0))) "
                    which is causing Compile Output error of, a regular expression compatibility with a boolean.
                    so should "(QRegularExpression(".+\.(png|bmp|jpg" be put inside of (QRegExp::pattern() ???

                    [ maybe the proper solution is to build this book example in Qt5 instead of trying to adapt it to build in Qt6 ????]
                    is that easy to do ???

                    ".exactMatch" is discontinued in Qt6 so i am trying "QRegExp::pattern"

                        if(QRegularExpression(".+\\.(png|bmp|jpg)") (QRegExp::pattern(fileNames.at(0))) {
                            currentImage->pixmap().save(fileNames.at(0));
                        } else {
                            QMessageBox::information(this, "Information", "Save error: bad format or filename.");
                    
                    Pl45m4P Offline
                    Pl45m4P Offline
                    Pl45m4
                    wrote on last edited by
                    #15

                    @uglybug said in forgot to setup the environment using 'qmake -projects':

                    regarding ".exactMatch" deprecated in Qt6 so i added #include QRegExp in mainwindow.h

                    Try

                    • https://doc.qt.io/qt-6/qregularexpression.html#anchoredPattern

                    [ maybe the proper solution is to build this book example in Qt5 instead of trying to adapt it to build in Qt6 ????]
                    is that easy to do ???

                    There's nothing wrong with using Qt5 now... however in couple month and years more and more stuff will be deprecated and maybe even removed from Qt Framework.
                    So why learning outdated things?!
                    Usually you would follow up-to-date instructions and guides, right?!

                    Most simple Qt5 code can be adapted to Qt6 quite easily even if some methods or modules don't exist anymore... there is never a downgrade (people will argue about that) :D
                    When porting huge, existing Qt4 / Qt5 projects to Qt6, it's a different story... but for anything else you should be able to find a workaround / replacement.


                    If debugging is the process of removing software bugs, then programming must be the process of putting them in.

                    ~E. W. Dijkstra

                    Pl45m4P 1 Reply Last reply
                    0
                    • U Offline
                      U Offline
                      uglybug
                      wrote on last edited by
                      #16

                      @Pl45m4 thanks so much for your frank advice, i'll take it willingly by continuing to pursue Qt6.
                      your help and support have made a huge difference in the progress that i've been able to have since starting this journey some 3 weeks ago. i very much look forward to mark these posting, solved !

                      1 Reply Last reply
                      0
                      • U Offline
                        U Offline
                        uglybug
                        wrote on last edited by
                        #17

                        ".exactMatch" is discontinued in Qt6 so i am trying to use a "wildcard".
                        is this approach appropriate, that is am i on the right track ?

                            QString wildcard =QRegularExpression::wildcardToRegularExpression("*.jpeg");
                            if (const auto refs = QStringView{.QStringList = 'wildcard'}.tokenize(u'j'));
                                for (auto wildcard : wildcard) {
                                    if (wildcard == '.+\\.(png|bmp|jpg')
                                        return true;
                        
                        1 Reply Last reply
                        0
                        • Christian EhrlicherC Offline
                          Christian EhrlicherC Offline
                          Christian Ehrlicher
                          Lifetime Qt Champion
                          wrote on last edited by
                          #18

                          Why do you insist to use a regexp at all? Simply use QString::endsWith() ...

                          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                          Visit the Qt Academy at https://academy.qt.io/catalog

                          1 Reply Last reply
                          0
                          • Pl45m4P Pl45m4

                            @uglybug said in forgot to setup the environment using 'qmake -projects':

                            regarding ".exactMatch" deprecated in Qt6 so i added #include QRegExp in mainwindow.h

                            Try

                            • https://doc.qt.io/qt-6/qregularexpression.html#anchoredPattern

                            [ maybe the proper solution is to build this book example in Qt5 instead of trying to adapt it to build in Qt6 ????]
                            is that easy to do ???

                            There's nothing wrong with using Qt5 now... however in couple month and years more and more stuff will be deprecated and maybe even removed from Qt Framework.
                            So why learning outdated things?!
                            Usually you would follow up-to-date instructions and guides, right?!

                            Most simple Qt5 code can be adapted to Qt6 quite easily even if some methods or modules don't exist anymore... there is never a downgrade (people will argue about that) :D
                            When porting huge, existing Qt4 / Qt5 projects to Qt6, it's a different story... but for anything else you should be able to find a workaround / replacement.

                            Pl45m4P Offline
                            Pl45m4P Offline
                            Pl45m4
                            wrote on last edited by
                            #19

                            @Pl45m4 said in forgot to setup the environment using 'qmake -projects':

                            Try

                            https://doc.qt.io/qt-6/qregularexpression.html#anchoredPattern

                            I linked this above. It states something like "exact match" in the documentation


                            If debugging is the process of removing software bugs, then programming must be the process of putting them in.

                            ~E. W. Dijkstra

                            1 Reply Last reply
                            0
                            • U Offline
                              U Offline
                              uglybug
                              wrote on last edited by uglybug
                              #20

                              @Pl45m4
                              yes i saw and read that previously to my 'wildcard' snippet.
                              i wasn't getting very far with that but it did lead me into an example using 'QStringList'
                              i will continue to reading, to get better at understanding the syntax shown in the Qt6 documents.
                              just wanted to give you an update as to what rabbit-hole i am currently traveling through.

                              @Christian-Ehrlicher
                              i am not insisting on anything 'regexp' , because i don't know anything as a beginner.
                              i guess i would have to say that my approach is 'solution via experimentation' .
                              thank you for "QString::endsWith() " i am looking that up now.

                              1 Reply Last reply
                              0
                              • U Offline
                                U Offline
                                uglybug
                                wrote on last edited by
                                #21

                                Success !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                QStringList fileNames;
                                if (dialog.exec()) {
                                fileNames = dialog.selectedFiles();
                                // ".exactMatch" is discontinued in Qt6 so i am using @Christian-Ehrlicher suggestion ".
                                QStringList str = fileNames;
                                if (str.endsWith(".jpeg")){
                                return;
                                }
                                i don't want to break this now working windows program but, if i wanted to test for 'bmp' and 'png' file extensions
                                would it look something like:
                                if (str.endsWith(".jpeg"||".bmp"||".png"))

                                thanks to @SGaist @Pl45m4 @Christian-Ehrlicher for all the this help and to forum readers who didn't make snide remaks.

                                1 Reply Last reply
                                0
                                • U uglybug has marked this topic as solved on
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #22

                                  You would either have multiple or statements using endsWith or use QRegularExpression.

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply
                                  0
                                  • U Offline
                                    U Offline
                                    uglybug
                                    wrote on last edited by
                                    #23

                                    @SGaist thank you for your answer. i am so appreciative of all the help i received on this forum. it's amazing how quickly the assistance arrives.

                                    1 Reply Last reply
                                    0

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved