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. Lime Report on 5.7?
Forum Updated to NodeBB v4.3 + New Features

Lime Report on 5.7?

Scheduled Pinned Locked Moved Unsolved General and Desktop
13 Posts 4 Posters 8.0k Views 2 Watching
  • 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.
  • S Offline
    S Offline
    Scottish_Jason
    wrote on last edited by
    #1

    I am trying to utilize a pdf reporting tool called lime report. The brief usage instructions are as follows

    #include "lrreportengine.h" to add report engine
     #include "lrcallbackdatasourceintf.h" if you want use callback datasources
    
     report = new LimeReport::ReportEngine(this); to create reportengine
     report->dataManager()->addModel("string_list",stringListModel,true); to add datasource to report engine
     report->loadFromFile("donors.lrxml");
     report->previewReport(); to generate report and preview
     //report->printReport(); to print report
    

    When I try to run this code I get the following errors

    undefined reference to 'LimeReport::ReportEngine::dataManager()'
    undefined reference to 'LimeReport::ReportEngine:loadFromFile(QString const&)'
    undefined reference to 'LimeReport::previewReport(QFlags<LimeReport::PreviewHint>)'
    

    Any idea what is going on here? is LimeReport perhaps incompatible with the newer Qt 5.7?
    Thanks!

    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #2

      looks like your are not linking the libraries to your project.
      Could you post your .pro file? (the LIBS part is what we are looking for)

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      S 1 Reply Last reply
      1
      • VRoninV VRonin

        looks like your are not linking the libraries to your project.
        Could you post your .pro file? (the LIBS part is what we are looking for)

        S Offline
        S Offline
        Scottish_Jason
        wrote on last edited by Scottish_Jason
        #3

        @VRonin

        Hey, thanks for the reply. I did try linking the header file under SOURCES in the PRO file without success. So here is my current one

        QT       += core gui xml network sql printsupport quick positioning location
        
        greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
        
        win32
        {
            LIBS += -LC:/OpenSSL-Win32/lib -lubsec
            INCLUDEPATH += C:/OpenSSL-Win32/include
        }
        
        TARGET = Alive_App
        TEMPLATE = app
        
        
        SOURCES += main.cpp\
                mainwindow.cpp \
                qcustomplot.cpp \
        
        
        
        
        HEADERS  += mainwindow.h \
            qcustomplot.h \
            map.h \
        
        
        FORMS    += mainwindow.ui
        
        DISTFILES += map.qml \
            ../../../../Deployment/Alive App/alivefull.png
        
        
        win32: RC_ICONS = /alive.ico
        

        Thankyou

        1 Reply Last reply
        0
        • VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by
          #4

          Take a look at http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          1 Reply Last reply
          1
          • Paul ColbyP Offline
            Paul ColbyP Offline
            Paul Colby
            wrote on last edited by
            #5

            Hi @Scottish_Jason,

            Looks like you need:

            LIBS += -llimereport
            

            See also, Re: undefined reference (limereport forum).

            Cheers.

            S 1 Reply Last reply
            1
            • Paul ColbyP Paul Colby

              Hi @Scottish_Jason,

              Looks like you need:

              LIBS += -llimereport
              

              See also, Re: undefined reference (limereport forum).

              Cheers.

              S Offline
              S Offline
              Scottish_Jason
              wrote on last edited by
              #6

              @Paul-Colby

              Hi. Trying

              INCLUDEPATH += "C:/LimeReport/include"
               LIBS += -llimereport
              

              gives me "cannot find -llimereport"
              I'm not sure what the library file is. I can't find any .lib files in the folder structure.
              There's a file called LimeReport inside include but linking to that just causes it to crash out.

              Any ideas?

              1 Reply Last reply
              0
              • Paul ColbyP Offline
                Paul ColbyP Offline
                Paul Colby
                wrote on last edited by
                #7

                @Scottish_Jason said in Lime Report on 5.7?:

                gives me "cannot find -llimereport"
                I'm not sure what the library file is. I can't find any .lib files in the folder structure.

                Did you build LimeReport? or download some install package for your OS?

                As per the LimeReport downloads page:

                How to use it
                1 Build limereport.pro. It will create a limereport shared library
                2 In your project connect the limereport library ...

                The .lib (or .so) files should have been created in step 1 - ie when you built limereport.pro, so check for the .lib file in that project's output.

                Then, add:

                LIBS += -L<path-to-libreport.pro's-output-dir>
                

                The final result, in your *.pro file, might look something like:

                INCLUDEPATH += "C:/LimeReport/include"
                LIBS += -LC:/LimeReport/release -llimereport
                

                But it depends on the what the build output of the LimeReport project looks like.

                Cheers.

                S 2 Replies Last reply
                1
                • Paul ColbyP Paul Colby

                  @Scottish_Jason said in Lime Report on 5.7?:

                  gives me "cannot find -llimereport"
                  I'm not sure what the library file is. I can't find any .lib files in the folder structure.

                  Did you build LimeReport? or download some install package for your OS?

                  As per the LimeReport downloads page:

                  How to use it
                  1 Build limereport.pro. It will create a limereport shared library
                  2 In your project connect the limereport library ...

                  The .lib (or .so) files should have been created in step 1 - ie when you built limereport.pro, so check for the .lib file in that project's output.

                  Then, add:

                  LIBS += -L<path-to-libreport.pro's-output-dir>
                  

                  The final result, in your *.pro file, might look something like:

                  INCLUDEPATH += "C:/LimeReport/include"
                  LIBS += -LC:/LimeReport/release -llimereport
                  

                  But it depends on the what the build output of the LimeReport project looks like.

                  Cheers.

                  S Offline
                  S Offline
                  Scottish_Jason
                  wrote on last edited by
                  #8
                  This post is deleted!
                  1 Reply Last reply
                  0
                  • Paul ColbyP Paul Colby

                    @Scottish_Jason said in Lime Report on 5.7?:

                    gives me "cannot find -llimereport"
                    I'm not sure what the library file is. I can't find any .lib files in the folder structure.

                    Did you build LimeReport? or download some install package for your OS?

                    As per the LimeReport downloads page:

                    How to use it
                    1 Build limereport.pro. It will create a limereport shared library
                    2 In your project connect the limereport library ...

                    The .lib (or .so) files should have been created in step 1 - ie when you built limereport.pro, so check for the .lib file in that project's output.

                    Then, add:

                    LIBS += -L<path-to-libreport.pro's-output-dir>
                    

                    The final result, in your *.pro file, might look something like:

                    INCLUDEPATH += "C:/LimeReport/include"
                    LIBS += -LC:/LimeReport/release -llimereport
                    

                    But it depends on the what the build output of the LimeReport project looks like.

                    Cheers.

                    S Offline
                    S Offline
                    Scottish_Jason
                    wrote on last edited by Scottish_Jason
                    #9

                    @Paul-Colby

                    Hi Paul.

                    After linking like so my app just crashes out while trying to compile. Any ideas?

                      INCLUDEPATH += C:/LimeReport/build/5.7.0/win32/release/lib/include
                        LIBS += -L C:/LimeReport/build/5.7.0/win32/release/lib -llimereport
                    

                    I also tried linking to a precompiled lib for windows. Again it just crashes
                    also building limereport.pro does not appear to put a .lib file anywhere. It does create a limereport.dll though

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

                      Hi,

                      Where is your limerport.dll located ?

                      Depending on that, you should modify the PATH environment variable in the Run part of the Project panel of Qt Creator and add at the path to the folder containing it.

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

                      S 2 Replies Last reply
                      1
                      • SGaistS SGaist

                        Hi,

                        Where is your limerport.dll located ?

                        Depending on that, you should modify the PATH environment variable in the Run part of the Project panel of Qt Creator and add at the path to the folder containing it.

                        S Offline
                        S Offline
                        Scottish_Jason
                        wrote on last edited by
                        #11

                        @SGaist

                        The limereport.dll file appears in "C:\LimeReport\build\5.7.0\win32\release\lib" after building limereport.pro which, is inside C:\LimeReport.
                        No limereport.lib appears in this folder or any other folder after building.

                        I have a precompiled version downloaded that contains limereport.dll, limereport.exp and limereport.lib.
                        Linking to this also results in a crash.

                        1 Reply Last reply
                        0
                        • SGaistS SGaist

                          Hi,

                          Where is your limerport.dll located ?

                          Depending on that, you should modify the PATH environment variable in the Run part of the Project panel of Qt Creator and add at the path to the folder containing it.

                          S Offline
                          S Offline
                          Scottish_Jason
                          wrote on last edited by Scottish_Jason
                          #12

                          @SGaist

                          Adding the dll path to my PATH variable solved the issue. Thanks again SGaist! and Paul

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

                            The path used to locate the .lib file that you link to and the .dll are two different things even if the files can be found in the same folders. That's why you need to help the system find the .dlls you are using either by copying said .dll in the folder where the application can be found, or modify the PATH environment variable. The first solution is used when deploying your application, the second should only be done locally in the IDE when you are developing.

                            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

                            • Login

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