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. Very long project build times after including QCustomPlot
Forum Updated to NodeBB v4.3 + New Features

Very long project build times after including QCustomPlot

Scheduled Pinned Locked Moved Unsolved General and Desktop
21 Posts 4 Posters 2.8k 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.
  • L Offline
    L Offline
    lukutis222
    wrote on last edited by lukutis222
    #1

    After downloading and importing QCustomPlot library to my project, the build time increased from 3-4 seconds to 30-40 seconds. Is that expected?

    https://www.qcustomplot.com/

    Christian EhrlicherC 1 Reply Last reply
    0
    • L lukutis222

      After downloading and importing QCustomPlot library to my project, the build time increased from 3-4 seconds to 30-40 seconds. Is that expected?

      https://www.qcustomplot.com/

      Christian EhrlicherC Offline
      Christian EhrlicherC Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by
      #2

      It depends where and what you included.

      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
      • L Offline
        L Offline
        lukutis222
        wrote on last edited by lukutis222
        #3

        I did the following:

        1. Paste qcustomplot.h and qcustomplot.cpp to my project folder.

        2. Add printsupport flag in my project.pro.
          greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

        3. In my mainwindow.h I include qcustomplot

        #include "qcustomplot.h
        

        After these 3 steps, my project build time increases 10 times

        jsulmJ 1 Reply Last reply
        0
        • L lukutis222

          I did the following:

          1. Paste qcustomplot.h and qcustomplot.cpp to my project folder.

          2. Add printsupport flag in my project.pro.
            greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

          3. In my mainwindow.h I include qcustomplot

          #include "qcustomplot.h
          

          After these 3 steps, my project build time increases 10 times

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @lukutis222 qcustomplot.cpp is like 1.3MB! You should rather build QCustomPlot as library and then include it in your project as library.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          L 1 Reply Last reply
          3
          • jsulmJ jsulm

            @lukutis222 qcustomplot.cpp is like 1.3MB! You should rather build QCustomPlot as library and then include it in your project as library.

            L Offline
            L Offline
            lukutis222
            wrote on last edited by
            #5

            @jsulm
            Yes you are probably right.

            The instructions on the QCustomPlot website are not super clear to me how to do this though.
            d2707986-1077-4a40-a4e9-cbb8bae40948-image.png

            I have downloaded the files:
            e472295b-3258-428a-8662-8c8a50eb7c15-image.png

            from what I understand, I just need to modify my project.pro file to something like this:

            QT       += core gui
            QT       += serialport
            
            greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
            
            CONFIG += c++17
            
            # You can make your code fail to compile if it uses deprecated APIs.
            # In order to do so, uncomment the following line.
            #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
            
            
            TARGET = sharedlib-usage
            TEMPLATE = app
            
            # Tell the qcustomplot header that it will be used as library:
            DEFINES += QCUSTOMPLOT_USE_LIBRARY
            
            # Link with debug version of qcustomplot if compiling in debug mode, else with release library:
            CONFIG(debug, release|debug) {
              win32:QCPLIB = qcustomplotd2
              else: QCPLIB = qcustomplotd
            } else {
              win32:QCPLIB = qcustomplot2
              else: QCPLIB = qcustomplot
            }
            LIBS += -L./ -l$$QCPLIB
            
            
            
            SOURCES += \
                main.cpp \
                mainwindow.cpp \
                serial.cpp \
                ../../qcustomplot.cpp
            
            
            HEADERS += \
                mainwindow.h \
                serial.h \
            
            
            FORMS += \
                mainwindow.ui
            
            # Default rules for deployment.
            qnx: target.path = /tmp/$${TARGET}/bin
            else: unix:!android: target.path = /opt/$${TARGET}/bin
            !isEmpty(target.path): INSTALLS += target
            
            

            Could someone give me a little bit more information on how to build this as a library?

            jsulmJ 1 Reply Last reply
            0
            • L lukutis222

              @jsulm
              Yes you are probably right.

              The instructions on the QCustomPlot website are not super clear to me how to do this though.
              d2707986-1077-4a40-a4e9-cbb8bae40948-image.png

              I have downloaded the files:
              e472295b-3258-428a-8662-8c8a50eb7c15-image.png

              from what I understand, I just need to modify my project.pro file to something like this:

              QT       += core gui
              QT       += serialport
              
              greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
              
              CONFIG += c++17
              
              # You can make your code fail to compile if it uses deprecated APIs.
              # In order to do so, uncomment the following line.
              #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
              
              
              TARGET = sharedlib-usage
              TEMPLATE = app
              
              # Tell the qcustomplot header that it will be used as library:
              DEFINES += QCUSTOMPLOT_USE_LIBRARY
              
              # Link with debug version of qcustomplot if compiling in debug mode, else with release library:
              CONFIG(debug, release|debug) {
                win32:QCPLIB = qcustomplotd2
                else: QCPLIB = qcustomplotd
              } else {
                win32:QCPLIB = qcustomplot2
                else: QCPLIB = qcustomplot
              }
              LIBS += -L./ -l$$QCPLIB
              
              
              
              SOURCES += \
                  main.cpp \
                  mainwindow.cpp \
                  serial.cpp \
                  ../../qcustomplot.cpp
              
              
              HEADERS += \
                  mainwindow.h \
                  serial.h \
              
              
              FORMS += \
                  mainwindow.ui
              
              # Default rules for deployment.
              qnx: target.path = /tmp/$${TARGET}/bin
              else: unix:!android: target.path = /opt/$${TARGET}/bin
              !isEmpty(target.path): INSTALLS += target
              
              

              Could someone give me a little bit more information on how to build this as a library?

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #6

              @lukutis222 Download QCustomPlot-sharedlib.tar.gz and see how to do that.
              In sharedlib-compilation there is pro file showing how to build as library.
              In sharedlib-usage you can see how to use the library.

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              L 1 Reply Last reply
              0
              • jsulmJ jsulm

                @lukutis222 Download QCustomPlot-sharedlib.tar.gz and see how to do that.
                In sharedlib-compilation there is pro file showing how to build as library.
                In sharedlib-usage you can see how to use the library.

                L Offline
                L Offline
                lukutis222
                wrote on last edited by
                #7

                @jsulm

                That is exactly what I am confused about. I do not understand why is there 2 .pro files and which one do I need to use?

                I only use 1 .pro file for my project.

                jsulmJ L 2 Replies Last reply
                0
                • L lukutis222

                  @jsulm

                  That is exactly what I am confused about. I do not understand why is there 2 .pro files and which one do I need to use?

                  I only use 1 .pro file for my project.

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  @lukutis222 said in Very long project build times after including QCustomPlot:

                  That is exactly what I am confused about. I do not understand why is there 2 .pro files and which one do I need to use?

                  The pro files in the archive are examples how to build QCustomPlot as library and how to use that library in a project.
                  So, take the pro file from sharedlib-compilation to build QCustomPlot as library.
                  When you have that library take a look at pro file in sharedlib-usage to see how to add that library to your project.

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  L 1 Reply Last reply
                  2
                  • jsulmJ jsulm

                    @lukutis222 said in Very long project build times after including QCustomPlot:

                    That is exactly what I am confused about. I do not understand why is there 2 .pro files and which one do I need to use?

                    The pro files in the archive are examples how to build QCustomPlot as library and how to use that library in a project.
                    So, take the pro file from sharedlib-compilation to build QCustomPlot as library.
                    When you have that library take a look at pro file in sharedlib-usage to see how to add that library to your project.

                    L Offline
                    L Offline
                    lukutis222
                    wrote on last edited by lukutis222
                    #9
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • L lukutis222

                      @jsulm

                      That is exactly what I am confused about. I do not understand why is there 2 .pro files and which one do I need to use?

                      I only use 1 .pro file for my project.

                      L Offline
                      L Offline
                      lukutis222
                      wrote on last edited by lukutis222
                      #10

                      @jsulm

                      I think I am making some progress.

                      • 1. I put qcustomplot.cpp and qcustomplot.h to sharedlib folder:

                      7c86c1d3-25da-4b5d-b798-ea285362b1a5-image.png

                      Inside qcustomplot-sharedlib there is sharedlib-compilation and sharedlib-usage

                      738cb2c7-b8c9-4f90-88d9-21c914953090-image.png

                      • 2. I have opened sharedlib-compliation.pro as qt project and build it for all configurations. The project built successfully. 3 folders were created inside qcustomplot-sharedlib:

                      build-sharedlib-compilation-Desktop_Qt_6_4_0_MinGW_64_bit-Debug
                      build-sharedlib-compilation-Desktop_Qt_6_4_0_MinGW_64_bit-Release
                      build-sharedlib-compilation-Desktop_Qt_6_4_0_MinGW_64_bit-Profile

                      d35b1877-ccf9-475b-832a-0428ea6a97a3-image.png

                      • 3. The following step on the instruction says:
                        Copy all created library/softlink files from the previous step to the sharedlib-usage directory

                      Does that mean that I have to copy all those files and put them in sharedlib-usage directory?

                      • 4. After copying all those files and pasting them in sharedlib-usage directory, I try to build sharedlib-usage example

                      3f43bab8-e4eb-4331-86c0-3517975e2832-image.png

                      but I get the following errors:

                      Qt/6.4.0/mingw_64/lib/libQt6Gui.a C:/Qt/6.4.0/mingw_64/lib/libQt6Core.a -lmingw32 C:/Qt/6.4.0/mingw_64/lib/libQt6EntryPoint.a -lshell32  
                      C:/Qt/Tools/mingw1120_64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lqcustomplotd2
                      collect2.exe: error: ld returned 1 exit status
                      mingw32-make[1]: *** [Makefile.Debug:68: debug/sharedlib-usage.exe] Error 1
                      mingw32-make[1]: Leaving directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                      mingw32-make: *** [Makefile:45: debug] Error 2
                      14:45:40: The process "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" exited with code 2.
                      Error while building/deploying project sharedlib-usage (kit: Desktop Qt 6.4.0 MinGW 64-bit)
                      When executing step "Make"
                      14:45:40: Elapsed time: 00:07.
                      

                      The error message says that it cannot find lqcustomplotd2.

                      jsulmJ 1 Reply Last reply
                      0
                      • L lukutis222

                        @jsulm

                        I think I am making some progress.

                        • 1. I put qcustomplot.cpp and qcustomplot.h to sharedlib folder:

                        7c86c1d3-25da-4b5d-b798-ea285362b1a5-image.png

                        Inside qcustomplot-sharedlib there is sharedlib-compilation and sharedlib-usage

                        738cb2c7-b8c9-4f90-88d9-21c914953090-image.png

                        • 2. I have opened sharedlib-compliation.pro as qt project and build it for all configurations. The project built successfully. 3 folders were created inside qcustomplot-sharedlib:

                        build-sharedlib-compilation-Desktop_Qt_6_4_0_MinGW_64_bit-Debug
                        build-sharedlib-compilation-Desktop_Qt_6_4_0_MinGW_64_bit-Release
                        build-sharedlib-compilation-Desktop_Qt_6_4_0_MinGW_64_bit-Profile

                        d35b1877-ccf9-475b-832a-0428ea6a97a3-image.png

                        • 3. The following step on the instruction says:
                          Copy all created library/softlink files from the previous step to the sharedlib-usage directory

                        Does that mean that I have to copy all those files and put them in sharedlib-usage directory?

                        • 4. After copying all those files and pasting them in sharedlib-usage directory, I try to build sharedlib-usage example

                        3f43bab8-e4eb-4331-86c0-3517975e2832-image.png

                        but I get the following errors:

                        Qt/6.4.0/mingw_64/lib/libQt6Gui.a C:/Qt/6.4.0/mingw_64/lib/libQt6Core.a -lmingw32 C:/Qt/6.4.0/mingw_64/lib/libQt6EntryPoint.a -lshell32  
                        C:/Qt/Tools/mingw1120_64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lqcustomplotd2
                        collect2.exe: error: ld returned 1 exit status
                        mingw32-make[1]: *** [Makefile.Debug:68: debug/sharedlib-usage.exe] Error 1
                        mingw32-make[1]: Leaving directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                        mingw32-make: *** [Makefile:45: debug] Error 2
                        14:45:40: The process "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" exited with code 2.
                        Error while building/deploying project sharedlib-usage (kit: Desktop Qt 6.4.0 MinGW 64-bit)
                        When executing step "Make"
                        14:45:40: Elapsed time: 00:07.
                        

                        The error message says that it cannot find lqcustomplotd2.

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        @lukutis222 said in Very long project build times after including QCustomPlot:

                        The error message says that it cannot find lqcustomplotd2.

                        Yes, and where exactly is it located?
                        You need to specify the location in the example pro file (you can post its content here if you need support).

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        L 1 Reply Last reply
                        1
                        • jsulmJ jsulm

                          @lukutis222 said in Very long project build times after including QCustomPlot:

                          The error message says that it cannot find lqcustomplotd2.

                          Yes, and where exactly is it located?
                          You need to specify the location in the example pro file (you can post its content here if you need support).

                          L Offline
                          L Offline
                          lukutis222
                          wrote on last edited by lukutis222
                          #12

                          @jsulm

                          I do not know where it is located. It feels like that this file does not exist in my computer. I use software called "everything" to find files. It works much better than windows search.

                          faa4f287-94f1-485f-b446-e88abf60f9f9-image.png

                          Also, when you say "in the example pro" file. Are you refering to sharelib-usage.pro? Because I am trying to build sharelib-usage.pro and it is as following:

                          #
                          # Example project that uses QCustomPlot as a shared library
                          #
                          # The compiled shared library file(s) must be in the project directory.
                          # On Unix, set LD_LIBRARY_PATH to "." before launching the compiled application
                          # unless the library files are installed in one of the library locations (e.g. /usr/lib)
                          #
                          # Note that the qcustomplot.h header should not be added to the project file in the
                          # HEADERS variable, but only included in your source files with #include.
                          #
                          
                          QT       += core gui
                          greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
                          
                          greaterThan(QT_MAJOR_VERSION, 4): CONFIG += c++11
                          lessThan(QT_MAJOR_VERSION, 5): QMAKE_CXXFLAGS += -std=c++11
                          
                          TARGET = sharedlib-usage
                          TEMPLATE = app
                          
                          # Tell the qcustomplot header that it will be used as library:
                          DEFINES += QCUSTOMPLOT_USE_LIBRARY
                          
                          # Link with debug version of qcustomplot if compiling in debug mode, else with release library:
                          CONFIG(debug, release|debug) {
                            win32:QCPLIB = qcustomplotd2
                            else: QCPLIB = qcustomplotd
                          } else {
                            win32:QCPLIB = qcustomplot2
                            else: QCPLIB = qcustomplot
                          }
                          LIBS += -L./ -l$$QCPLIB
                          
                          SOURCES += main.cpp
                          
                          
                          jsulmJ 1 Reply Last reply
                          0
                          • L lukutis222

                            @jsulm

                            I do not know where it is located. It feels like that this file does not exist in my computer. I use software called "everything" to find files. It works much better than windows search.

                            faa4f287-94f1-485f-b446-e88abf60f9f9-image.png

                            Also, when you say "in the example pro" file. Are you refering to sharelib-usage.pro? Because I am trying to build sharelib-usage.pro and it is as following:

                            #
                            # Example project that uses QCustomPlot as a shared library
                            #
                            # The compiled shared library file(s) must be in the project directory.
                            # On Unix, set LD_LIBRARY_PATH to "." before launching the compiled application
                            # unless the library files are installed in one of the library locations (e.g. /usr/lib)
                            #
                            # Note that the qcustomplot.h header should not be added to the project file in the
                            # HEADERS variable, but only included in your source files with #include.
                            #
                            
                            QT       += core gui
                            greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
                            
                            greaterThan(QT_MAJOR_VERSION, 4): CONFIG += c++11
                            lessThan(QT_MAJOR_VERSION, 5): QMAKE_CXXFLAGS += -std=c++11
                            
                            TARGET = sharedlib-usage
                            TEMPLATE = app
                            
                            # Tell the qcustomplot header that it will be used as library:
                            DEFINES += QCUSTOMPLOT_USE_LIBRARY
                            
                            # Link with debug version of qcustomplot if compiling in debug mode, else with release library:
                            CONFIG(debug, release|debug) {
                              win32:QCPLIB = qcustomplotd2
                              else: QCPLIB = qcustomplotd
                            } else {
                              win32:QCPLIB = qcustomplot2
                              else: QCPLIB = qcustomplot
                            }
                            LIBS += -L./ -l$$QCPLIB
                            
                            SOURCES += main.cpp
                            
                            
                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #13

                            @lukutis222 said in Very long project build times after including QCustomPlot:

                            I do not know where it is located

                            It should be located in the build folders you posted before.
                            And the names of libraries on Linux/UNIX systems start with lib not l. So, libqcustomplot*

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            L 1 Reply Last reply
                            0
                            • jsulmJ jsulm

                              @lukutis222 said in Very long project build times after including QCustomPlot:

                              I do not know where it is located

                              It should be located in the build folders you posted before.
                              And the names of libraries on Linux/UNIX systems start with lib not l. So, libqcustomplot*

                              L Offline
                              L Offline
                              lukutis222
                              wrote on last edited by lukutis222
                              #14

                              @jsulm

                              Thanks for helping me.

                              • 1. Since I am on windows, why does it say that Iqcustomplotd2 is missing instead of libqcustomplot2d?

                              • 2. In the build folders that I have posted before inside debug or release folder (I am not sure if there is any difference), I see the following files:

                              16ad37fe-be8a-41f3-857c-861db71b148e-image.png

                              • 3. I have placed all those build files inside sharedlib-usage folder:
                                90621dc9-a312-4385-abc6-38a347e9eefa-image.png

                              I assume that everything should be ok here right? I just need to tell my project to look for libqcustomplot instead of iqcustomplot? (After placing those files, the same error persists)

                              jsulmJ 1 Reply Last reply
                              0
                              • L lukutis222

                                @jsulm

                                Thanks for helping me.

                                • 1. Since I am on windows, why does it say that Iqcustomplotd2 is missing instead of libqcustomplot2d?

                                • 2. In the build folders that I have posted before inside debug or release folder (I am not sure if there is any difference), I see the following files:

                                16ad37fe-be8a-41f3-857c-861db71b148e-image.png

                                • 3. I have placed all those build files inside sharedlib-usage folder:
                                  90621dc9-a312-4385-abc6-38a347e9eefa-image.png

                                I assume that everything should be ok here right? I just need to tell my project to look for libqcustomplot instead of iqcustomplot? (After placing those files, the same error persists)

                                jsulmJ Offline
                                jsulmJ Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #15

                                @lukutis222 said in Very long project build times after including QCustomPlot:

                                Since I am on windows, why does it say that Iqcustomplotd2 is missing instead of libqcustomplot2d?

                                It says it can't find -lqcustomplotd2. -l parameter is used to tell the linker to link the lib following -l, so qcustomplotd2 in your case.
                                You are using relative path to specify the folder to search for libs (-L./). Please check whether the folder passed to linker is correct (you can post the whole linker call here, above you only posted part of it).

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                L 1 Reply Last reply
                                1
                                • jsulmJ jsulm

                                  @lukutis222 said in Very long project build times after including QCustomPlot:

                                  Since I am on windows, why does it say that Iqcustomplotd2 is missing instead of libqcustomplot2d?

                                  It says it can't find -lqcustomplotd2. -l parameter is used to tell the linker to link the lib following -l, so qcustomplotd2 in your case.
                                  You are using relative path to specify the folder to search for libs (-L./). Please check whether the folder passed to linker is correct (you can post the whole linker call here, above you only posted part of it).

                                  L Offline
                                  L Offline
                                  lukutis222
                                  wrote on last edited by
                                  #16

                                  @jsulm

                                  I still didint manage to find a solution for this..

                                  I assume you want to see Compile Output:

                                  09:51:38: Running steps for project sharedlib-usage...
                                  09:51:38: Configuration unchanged, skipping qmake step.
                                  09:51:38: Starting: "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" -j16
                                  C:/Qt/Tools/mingw1120_64/bin/mingw32-make -f Makefile.Debug
                                  mingw32-make[1]: Entering directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                                  g++ -Wl,-subsystem,windows -mthreads -o debug/sharedlib-usage.exe debug/main.o -L. -lqcustomplotd2 C:/Qt/6.4.0/mingw_64/lib/libQt6PrintSupport.a C:/Qt/6.4.0/mingw_64/lib/libQt6Widgets.a C:/Qt/6.4.0/mingw_64/lib/libQt6Gui.a C:/Qt/6.4.0/mingw_64/lib/libQt6Core.a -lmingw32 C:/Qt/6.4.0/mingw_64/lib/libQt6EntryPoint.a -lshell32  
                                  C:/Qt/Tools/mingw1120_64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lqcustomplotd2
                                  collect2.exe: error: ld returned 1 exit status
                                  mingw32-make[1]: *** [Makefile.Debug:68: debug/sharedlib-usage.exe] Error 1
                                  mingw32-make[1]: Leaving directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                                  mingw32-make: *** [Makefile:45: debug] Error 2
                                  09:51:38: The process "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" exited with code 2.
                                  Error while building/deploying project sharedlib-usage (kit: Desktop Qt 6.4.0 MinGW 64-bit)
                                  When executing step "Make"
                                  09:51:38: Elapsed time: 00:00.
                                  
                                  
                                  jsulmJ JonBJ 2 Replies Last reply
                                  0
                                  • L lukutis222

                                    @jsulm

                                    I still didint manage to find a solution for this..

                                    I assume you want to see Compile Output:

                                    09:51:38: Running steps for project sharedlib-usage...
                                    09:51:38: Configuration unchanged, skipping qmake step.
                                    09:51:38: Starting: "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" -j16
                                    C:/Qt/Tools/mingw1120_64/bin/mingw32-make -f Makefile.Debug
                                    mingw32-make[1]: Entering directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                                    g++ -Wl,-subsystem,windows -mthreads -o debug/sharedlib-usage.exe debug/main.o -L. -lqcustomplotd2 C:/Qt/6.4.0/mingw_64/lib/libQt6PrintSupport.a C:/Qt/6.4.0/mingw_64/lib/libQt6Widgets.a C:/Qt/6.4.0/mingw_64/lib/libQt6Gui.a C:/Qt/6.4.0/mingw_64/lib/libQt6Core.a -lmingw32 C:/Qt/6.4.0/mingw_64/lib/libQt6EntryPoint.a -lshell32  
                                    C:/Qt/Tools/mingw1120_64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lqcustomplotd2
                                    collect2.exe: error: ld returned 1 exit status
                                    mingw32-make[1]: *** [Makefile.Debug:68: debug/sharedlib-usage.exe] Error 1
                                    mingw32-make[1]: Leaving directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                                    mingw32-make: *** [Makefile:45: debug] Error 2
                                    09:51:38: The process "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" exited with code 2.
                                    Error while building/deploying project sharedlib-usage (kit: Desktop Qt 6.4.0 MinGW 64-bit)
                                    When executing step "Make"
                                    09:51:38: Elapsed time: 00:00.
                                    
                                    
                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #17

                                    @lukutis222 said in Very long project build times after including QCustomPlot:

                                    -L. -lqcustomplotd2

                                    This is your problem: you put the lib into your project folder but tell linker to search in current folder which is build folder when your app is being built.

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    2
                                    • L lukutis222

                                      @jsulm

                                      I still didint manage to find a solution for this..

                                      I assume you want to see Compile Output:

                                      09:51:38: Running steps for project sharedlib-usage...
                                      09:51:38: Configuration unchanged, skipping qmake step.
                                      09:51:38: Starting: "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" -j16
                                      C:/Qt/Tools/mingw1120_64/bin/mingw32-make -f Makefile.Debug
                                      mingw32-make[1]: Entering directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                                      g++ -Wl,-subsystem,windows -mthreads -o debug/sharedlib-usage.exe debug/main.o -L. -lqcustomplotd2 C:/Qt/6.4.0/mingw_64/lib/libQt6PrintSupport.a C:/Qt/6.4.0/mingw_64/lib/libQt6Widgets.a C:/Qt/6.4.0/mingw_64/lib/libQt6Gui.a C:/Qt/6.4.0/mingw_64/lib/libQt6Core.a -lmingw32 C:/Qt/6.4.0/mingw_64/lib/libQt6EntryPoint.a -lshell32  
                                      C:/Qt/Tools/mingw1120_64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lqcustomplotd2
                                      collect2.exe: error: ld returned 1 exit status
                                      mingw32-make[1]: *** [Makefile.Debug:68: debug/sharedlib-usage.exe] Error 1
                                      mingw32-make[1]: Leaving directory 'C:/Users/petrikas.lu/Desktop/WORK/QT/QCustomPlot-sharedlib/qcustomplot-sharedlib/build-sharedlib-usage-Desktop_Qt_6_4_0_MinGW_64_bit-Debug'
                                      mingw32-make: *** [Makefile:45: debug] Error 2
                                      09:51:38: The process "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" exited with code 2.
                                      Error while building/deploying project sharedlib-usage (kit: Desktop Qt 6.4.0 MinGW 64-bit)
                                      When executing step "Make"
                                      09:51:38: Elapsed time: 00:00.
                                      
                                      
                                      JonBJ Offline
                                      JonBJ Offline
                                      JonB
                                      wrote on last edited by JonB
                                      #18

                                      @lukutis222
                                      For -lqcustomplotd2 to work:

                                      1. You should have a file named libqcustomplotd2.a somewhere. I can see two of them in your screenshots? One in ...\build-...-Debug\debug and one copied to sharedlib-usage, right?

                                      2. The linker must be able to find that directory via a -Ldirectory-path argument. You seem to have -L.. I do not know what the directory referred to via . ("current directory") is. I suspect it's not right.

                                      I see @jsulm has just commented on this. Either move the file to the build folder or change the -L. to refer to the right directory. I am confused by the paths you show in your screenshots. I would try

                                      -L..
                                      

                                      first for your case. However, I don't actually think that is right for you. If that does not work try

                                      -L../sharedlib-usage
                                      

                                      which I think is what you are actually showing you need?

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        lukutis222
                                        wrote on last edited by
                                        #19

                                        @jsulm
                                        @JonB

                                        Thanks for help.

                                        I was following the instructions that came with the library. It says:

                                          - Copy all created library/softlink files from the previous step to the sharedlib-usage directory
                                        

                                        but it does not seem to make any sense.

                                        Copying all files to build folder seems to work fine but does not make any sense. If I clean the project the files will be deleted and I will have to manually copy them to build folder again.

                                        I dont fully understand what was the library owner reasoning for using:

                                        #LIBS += -L./ -l$$QCPLIB
                                        
                                        JonBJ 1 Reply Last reply
                                        0
                                        • L lukutis222

                                          @jsulm
                                          @JonB

                                          Thanks for help.

                                          I was following the instructions that came with the library. It says:

                                            - Copy all created library/softlink files from the previous step to the sharedlib-usage directory
                                          

                                          but it does not seem to make any sense.

                                          Copying all files to build folder seems to work fine but does not make any sense. If I clean the project the files will be deleted and I will have to manually copy them to build folder again.

                                          I dont fully understand what was the library owner reasoning for using:

                                          #LIBS += -L./ -l$$QCPLIB
                                          
                                          JonBJ Offline
                                          JonBJ Offline
                                          JonB
                                          wrote on last edited by
                                          #20

                                          @lukutis222 I wrote in my previous what I suggest you do.

                                          L 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