Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. QtSql findet postgres treiber nicht und will QCoreApplication
Forum Updated to NodeBB v4.3 + New Features

QtSql findet postgres treiber nicht und will QCoreApplication

Scheduled Pinned Locked Moved Unsolved German
34 Posts 4 Posters 7.9k 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.
  • Christian EhrlicherC Christian Ehrlicher

    Hast Du meinen Post überhaupt gelesen?

    'Und jetzt auf dbSQL = QSqlDatabase::addDatabase("QPSQL"); einen breakpoint setzen, im Debugger starten und den backtrace anschauen.'

    D Offline
    D Offline
    Dany
    wrote on last edited by
    #13

    @Christian-Ehrlicher Ja habe ich. Nur muss ich gestehen, mit Debugger bin ich jetzt nicht wirklich firm. Unter Linux mit Visual Studio Code funktioniert das, aber wie ich das mit MinGW mache weiss ich leider nicht wirklich.

    @J-Hilk Ja das ist auch bei Release so. Ich hab jetzt auch, um mal sicher zu gehen das es nicht an qemu liegt, dass alles zusammengepackt und auf einem nativen Windows gestartet. Läuft super, nur eben das Plugin kann nicht geladen werden.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      Dany
      wrote on last edited by
      #14

      Also, ich wurschtele mich gerade in gdb ein. Einen Break habe ich auf addDatabase gesetzt, wo auch brave angehalten wird und danach habe ich Backtrace benutzt. So sieht das dann aus.

      (gdb) break addDatabase
      Breakpoint 1 at 0x40c6c0
      (gdb) run
      Starting program: c:\wsc\win-build\wsc.exe
      [New Thread 292.0x1448]
      [New Thread 292.0xccc]
      [New Thread 292.0x151c]
      
      Thread 1 hit Breakpoint 1, 0x000000006d7c8d56 in QSqlDatabase::addDatabase(QString const&, QString const&) ()
         from C:\Qt-5-15\5.15.2\mingw81_64\bin\Qt5Sql.dll
      (gdb) backtrace
      #0  0x000000006d7c8d56 in QSqlDatabase::addDatabase(QString const&, QString const&) ()
         from C:\Qt-5-15\5.15.2\mingw81_64\bin\Qt5Sql.dll
      #1  0x000000000040bdcb in main (argc=1, argv=0xb4350) at ../main.cpp:25
      (gdb)
      

      Da ich jetzt nicht glaube, dass das besonders weitergeholfen hat würde ich darum bitten, mir da ein bisschen zu helfen.

      1 Reply Last reply
      0
      • Christian EhrlicherC Online
        Christian EhrlicherC Online
        Christian Ehrlicher
        Lifetime Qt Champion
        wrote on last edited by
        #15

        Dann zeige mal deine main.cpp, vor allem Zeile 25

        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
        • D Offline
          D Offline
          Dany
          wrote on last edited by Dany
          #16

          Bitteschön

          int main(int argc, char* argv[]) 
          {
              QApplication app(argc, argv);
          
              db.setdbSQL(QSqlDatabase::addDatabase("QPSQL")); // Line 25
          
              konfig.ladeThema("wsc-standard");
              
              ich.setOnline(false);
              ich.loadPrivateKey();
          
              HauptWindow hw;
          
              hw.show();
          
              return app.exec();
          }
          
          1 Reply Last reply
          0
          • Christian EhrlicherC Online
            Christian EhrlicherC Online
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #17

            Und wenn Du dann dort einen step weiter gehst kommt die Fehlermeldung auf stdout?
            Bitte auch mal mit der Umgebungsvariablen QT_FATAL_WARNINGS im Debugger starten und schauen wo er dann crasht.

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

            D 1 Reply Last reply
            0
            • Christian EhrlicherC Christian Ehrlicher

              Und wenn Du dann dort einen step weiter gehst kommt die Fehlermeldung auf stdout?
              Bitte auch mal mit der Umgebungsvariablen QT_FATAL_WARNINGS im Debugger starten und schauen wo er dann crasht.

              D Offline
              D Offline
              Dany
              wrote on last edited by
              #18

              @Christian-Ehrlicher Genau. An der Stelle taucht dann die Meldung auf, dass der Driver nicht geladen werden konnte. Obwohl sie ja in der selben Ausgabe angezeigt wird.

              Was ich mittlerweile herausgefunden habe, wie es scheint kann Qt auch dann einen Treiber nicht laden, wenn dem irgendwas fehlt. So bin ich auch drauf gekommen, dass Architekturunterschiede da Probleme machen können. Eben der Driver wäre 32 Bit und das Programm 64 Bit. Was ich mir aber hier nicht wirklich vorstellen kann. Ausserdem habe ich die Treiber ja nach Anleitung von der Qt Website gebaut und das hat hervorragend funktioniert.

              Wenn ich QT_FATAL_WARNINGS auf 1 setze, startet das Programm gar nicht erst :(

              1 Reply Last reply
              0
              • Christian EhrlicherC Online
                Christian EhrlicherC Online
                Christian Ehrlicher
                Lifetime Qt Champion
                wrote on last edited by
                #19

                Ich habe mich eher darauf konzentiert:

                QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins

                Das der postgresql-Treiber nicht geladen wird liegt wie @J-Hilk schon geschrieben hat an fehlendenden Depenencies -> Dependency Walker benutzen und schauen was das Qt psql-Plugin benötigt.

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

                D 1 Reply Last reply
                0
                • Christian EhrlicherC Christian Ehrlicher

                  Ich habe mich eher darauf konzentiert:

                  QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins

                  Das der postgresql-Treiber nicht geladen wird liegt wie @J-Hilk schon geschrieben hat an fehlendenden Depenencies -> Dependency Walker benutzen und schauen was das Qt psql-Plugin benötigt.

                  D Offline
                  D Offline
                  Dany
                  wrote on last edited by
                  #20

                  @Christian-Ehrlicher said in QtSql findet postgres treiber nicht und will QCoreApplication:

                  QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins

                  Das hat sich ja schon erledigt, seit ich addDatabase() aus der Klasse in die Main gepackt habe.

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    Dany
                    wrote on last edited by Dany
                    #21

                    So. Ich hab das jetzt mal ausprobiert und anscheinend fehlt dem Ding die libpq.dll. Die ist aber natürlich mal wieder vorhanden. Ich meine aber gesehen zu haben, läuft nicht mit MinGW zusammen. Also hab ich versucht sie unter MinGW zu bauen. Funktioniert hat configure problemlos, aber wenn ich make verwende, dann fehlt die datei bki-stamp. Super.

                    Der Walker spukt unter anderem folgendes:

                    Error: At least one required implicit or forwarded dependency was not found.
                    Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
                    Error: Modules with different CPU types were found.
                    Error: A circular dependency was detected.
                    Warning: At least one delay-load dependency module was not found.
                    Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
                    
                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      Dany
                      wrote on last edited by
                      #22

                      Also, ich arbeite mich weiter vor. libpq.dll läuft jetzt soweit, aber der Walker sagt, das Modul findet unter Anderem folgendes nicht:

                      API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL
                      

                      Was ist denn das jetzt schon wieder :(

                      jsulmJ 1 Reply Last reply
                      0
                      • D Dany

                        Also, ich arbeite mich weiter vor. libpq.dll läuft jetzt soweit, aber der Walker sagt, das Modul findet unter Anderem folgendes nicht:

                        API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL
                        

                        Was ist denn das jetzt schon wieder :(

                        jsulmJ Online
                        jsulmJ Online
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #23

                        @Dany said in QtSql findet postgres treiber nicht und will QCoreApplication:

                        Was ist denn das jetzt schon wieder :(

                        Das kannst du ignorieren

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

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          Dany
                          wrote on last edited by
                          #24

                          Gilt das für alles mit API-MS-WIN...?

                          jsulmJ 1 Reply Last reply
                          0
                          • D Dany

                            Gilt das für alles mit API-MS-WIN...?

                            jsulmJ Online
                            jsulmJ Online
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #25

                            @Dany Ich denke schon. Die werden von Windows/Windows Updates installiert.

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

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              Dany
                              wrote on last edited by
                              #26

                              Okay. Wir kann ich denn rausfinden, wie viel Bit die DLL hat? Laut windeplayqt ist mein Programm 64 Bit, wobei mich alles andere auch gewundert hätte. Im Walker bekomme ich aber immer noch die Meldung mit den verschiedenen CPU.

                              Liegt es denn im Bereich des Möglichen, dass mein Problem doch etwas mit qemu zu tun hat? Weil mein Windows hier ja virtuell läuft.

                              jsulmJ 1 Reply Last reply
                              0
                              • D Dany

                                Okay. Wir kann ich denn rausfinden, wie viel Bit die DLL hat? Laut windeplayqt ist mein Programm 64 Bit, wobei mich alles andere auch gewundert hätte. Im Walker bekomme ich aber immer noch die Meldung mit den verschiedenen CPU.

                                Liegt es denn im Bereich des Möglichen, dass mein Problem doch etwas mit qemu zu tun hat? Weil mein Windows hier ja virtuell läuft.

                                jsulmJ Online
                                jsulmJ Online
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #27

                                @Dany said in QtSql findet postgres treiber nicht und will QCoreApplication:

                                dass mein Problem doch etwas mit qemu zu tun hat? Weil mein Windows hier ja virtuell läuft.

                                Bezweifle ich. Welche DLLs sind es denn?

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

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  Dany
                                  wrote on last edited by
                                  #28

                                  Ich würde mal sagen, es geht um diese

                                  QSQLPSQL.DLL
                                  

                                  Die müsste ja für das Modul von QtSQL verantwortlich sein.

                                  jsulmJ 1 Reply Last reply
                                  0
                                  • D Dany

                                    Ich würde mal sagen, es geht um diese

                                    QSQLPSQL.DLL
                                    

                                    Die müsste ja für das Modul von QtSQL verantwortlich sein.

                                    jsulmJ Online
                                    jsulmJ Online
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #29

                                    @Dany Diese DLL ist der Treiber für PostgreSQL. Wenn du PostgreSQL nicht in deiner App nutzen willst kannst du sie ignorieren.

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

                                    1 Reply Last reply
                                    0
                                    • D Offline
                                      D Offline
                                      Dany
                                      wrote on last edited by
                                      #30

                                      Ja doch, genau darum geht es ja. Die muss ich benutzen sonst funktioniert mein ganzes Programm nicht.

                                      jsulmJ 1 Reply Last reply
                                      0
                                      • D Dany

                                        Ja doch, genau darum geht es ja. Die muss ich benutzen sonst funktioniert mein ganzes Programm nicht.

                                        jsulmJ Online
                                        jsulmJ Online
                                        jsulm
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #31

                                        @Dany Did you also deploy the actual PostgreSQL driver/client library (not the Qt one, but from PostgreSQL)? Uups, jetzt habe ich das auf English geschrieben :-)

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

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          Dany
                                          wrote on last edited by
                                          #32

                                          Macht nichts.Ja, ich hab libqp.dll und co ins Verzeichnis meinesProgrammes kopiert. Laut Walker wird esja auch gefunden.

                                          jsulmJ 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