Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. [Tutorial] Qt statisch builden und in Creator einbinden
Qt 6.11 is out! See what's new in the release blog

[Tutorial] Qt statisch builden und in Creator einbinden

Scheduled Pinned Locked Moved German
26 Posts 3 Posters 17.4k Views 1 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.
  • QT-static-prgmQ Offline
    QT-static-prgmQ Offline
    QT-static-prgm
    wrote on last edited by
    #3

    Naja ich war mir nicht so ganz sicher, ob man die Schritte vom Wiki doch vieleicht braucht, oder wozu sie gut sind. Schließlich wird der autor sich was dabei gedacht haben oder ;) Daher dachte ich mir erstmal ein neues zu machen, vielleicht gibt es ja jemanden, der sich da besser auskennt wie ich.

    1 Reply Last reply
    0
    • K Offline
      K Offline
      koahnig
      wrote on last edited by
      #4

      Naja, denken tut sich meistens jeder etwas ;-)
      Gerolf hat sich mit Sicherheit auch etwas gedacht, allerdings basiert seine Zusammenfassung auf 4.7.4 und es kann sich etwas geändert haben. Mit Sicherheit der MinGW hat sich geändert.
      Auf der anderen Seite führen viele Wege nach Rom :D Gerade bei SW ist das so.

      Deine Versuche mit einem statischen Build von Qt 5.0.2 waren wohl zum Scheitern verurteilt. Für "Qt 5.1 ist folgendes im wiki":http://qt-project.org/wiki/New-Features-in-Qt-5.1#ab851a614e60913de1ec6a6f110159c8 zu finden:
      [quote]
      Other New Features

      Support for Static Qt builds
      [/quote]

      Von einigen wird dies schon als generelle Verfügbarkeit eines statischen Builds gewertet, aber es dreht sich wohl eher um Bugfixes und eine generelle Kompilierbarkeit für statische Libs.

      Vote the answer(s) that helped you to solve your issue(s)

      1 Reply Last reply
      0
      • QT-static-prgmQ Offline
        QT-static-prgmQ Offline
        QT-static-prgm
        wrote on last edited by
        #5

        Da kann man nur hoffen :D schön wäre es, wenn es von haus aus mit geliefert wird. Aber da es nur für opensource ist, eher unwahrscheinlich.

        1 Reply Last reply
        0
        • K Offline
          K Offline
          koahnig
          wrote on last edited by
          #6

          [quote author="QT-static-prgm" date="1372670040"]Da kann man nur hoffen :D schön wäre es, wenn es von haus aus mit geliefert wird. Aber da es nur für opensource ist, eher unwahrscheinlich.

          [/quote]
          Ich weiss es auch nicht, aber aus meiner Sicht wird es nicht einen Prebuild als statische Libs geben. Es ist wohl weniger ein Problem des opensource als ein Interessenskonflikt mit den Lizenzbedingungen.

          Aber alles kommt auf die Strategie von Digia an.

          Vote the answer(s) that helped you to solve your issue(s)

          1 Reply Last reply
          0
          • QT-static-prgmQ Offline
            QT-static-prgmQ Offline
            QT-static-prgm
            wrote on last edited by
            #7

            Wie gesagt da bleibt nur zu hoffen überig. Hast du ahnung von QT und IActiveDesktop?? habe schon alles prpbiert, aber nichts klappt. Habe auch schon Visual Studio bemüht, aber da gibt es auch fehler

            1 Reply Last reply
            0
            • K Offline
              K Offline
              koahnig
              wrote on last edited by
              #8

              [quote author="QT-static-prgm" date="1372673665"]Wie gesagt da bleibt nur zu hoffen überig. Hast du ahnung von QT und IActiveDesktop?? habe schon alles prpbiert, aber nichts klappt. Habe auch schon Visual Studio bemüht, aber da gibt es auch fehler[/quote]
              Nope, keinerlei Erfahrung.

              Vote the answer(s) that helped you to solve your issue(s)

              1 Reply Last reply
              0
              • QT-static-prgmQ Offline
                QT-static-prgmQ Offline
                QT-static-prgm
                wrote on last edited by
                #9

                Habe es mit der neuen Version probiert. Also Qt 5.1 installiert und dann die libs 4.8.5 static gebuildet. Das Funktioniert genauso wie oben beschrieben

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  koahnig
                  wrote on last edited by
                  #10

                  [quote author="QT-static-prgm" date="1372956077"]Habe es mit der neuen Version probiert. Also Qt 5.1 installiert und dann die libs 4.8.5 static gebuildet. Das Funktioniert genauso wie oben beschrieben[/quote]

                  Wenn man die Meldung richtig interpretiert, sollte es nun auch ohne Porbleme möglich sein mit Qt 5.1 die Libs statisch zu erstellen.

                  Vote the answer(s) that helped you to solve your issue(s)

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    tobias.hunger
                    wrote on last edited by
                    #11

                    Das es keine fertigen static-builds gibt liegt meines Wissens weniger an der Strategie von Digia. Ich sehe persönlich auch keine Probleme mit den Lizenzbedingungen (bin aber kein Anwalt;), da es der Lizenz ja egal ist, ob sie auf Source + prebuilt libs gilt oder für Source + self-built libs.

                    Erfahrungsgemäß ist es einfach sehr schwierig, eine Konfiguration anzubieten, die einen großen Querschnitt der User abdeckt. Benutzer statischer Builds sind da nochmal anspruchsvoller mit Blick auf was rein-/rauskonfiguriert wird, welche Defines gesetzt werden, etc. Am Ende ist es wahrscheinlich sehr viel Arbeit sich auf eine Konfiguration zu einigen und trotzdem werden 90% der Leute, die statische Libs wollen selbser bauen.

                    Da ist es meiner Meinung nach besser die Zeit in andere Projekte zu stecken.

                    1 Reply Last reply
                    0
                    • K Offline
                      K Offline
                      koahnig
                      wrote on last edited by
                      #12

                      Hallo Tobias
                      ich möchte es nicht als Kritik an Digia verstanden wissen.
                      Ich bin auch kein Anwalt. Statisches Linken bedeutet aus meiner Sicht die Inanspruchnahme von GPL (d.h. eigner Source ist dann offen) sobald man die Applikationen verteilt an andere. LGPL geht nur mit dynamischen Libs. Oder statischen Libs mit kommerzieller Lizenz sind eine Möglichkeit. So lege ich die Lizenzvereinbarungen aus.

                      Daher ist es auch von Digia konsequent nur dynamische Libs als pre-build zur Verfügung zu stellen. Diese gelten für GPL und LGPL.

                      Würde Digia auch noch die statischen Libs zur Verfügung stellen, würde Digia ja auch irgendwie Hand zur Verletzung von LGPL bieten. Da könnte irgendein Anwalt vielleicht schon nachhaken. Aber wie schon angemerkt, ich bin auch kein Anwalt. ;-)

                      Ein weiterer, zweiter Aspekt wäre dann die Komplexität von statischen Libs für alle möglichen Fälle zu erstellen. Diese Zeit und Serverkapazitäten sind tatsächlich anders besser einzusetzen.

                      Das Selberbauen ist beim ersten Mal eine Sache und wird mit der Zeit einfacher. Auch für dynamische Libs ist dies bei einigen Kompilern durchaus notwendig. Leider ist auch hier der Anfang schwer.

                      Vote the answer(s) that helped you to solve your issue(s)

                      1 Reply Last reply
                      0
                      • QT-static-prgmQ Offline
                        QT-static-prgmQ Offline
                        QT-static-prgm
                        wrote on last edited by
                        #13

                        Hi,

                        also ich habe mich bisher noch nicht so damit auseinander gesetzt, und so nur die Grund konfiguration genutzt :D Aber ich fände es schön, wenn man in Qt z.B. die Konfigurationen unter sagen wir mal Einstellungen einstellen kann, und dann beim ersten builden halt die libs gemacht werden. Fände ich viel besser, als 100 Tuts im Inet zu lesen, und nachher passt dann doch nicht alles.

                        Übrigens habe ich auch gehört, dass 5.1 statisch builden kann, aber habe es nirgendswo gefunden. Und erlich gesagt, ich glaube nicht, dass die Software dass dann schneller hin bekommt als die Konsole und da ich letztere Variante jetzt gut verstanden habe, habe ich keine Lust mich jetzt wieder damit ausseinander zu setzten.

                        Nur eins finde ich etwas m,erkwürdig. Bei ein paar Projecten, die bereits bestanden (Bei neuen habe ich es noch nicht probiert) kann ich nicht mehr dynamisch builden. er meint er hätte QApplications,... also eigentlich alle Qxxxxxx headers nicht gefunden.
                        Hat da jemand eine Idee??

                        1 Reply Last reply
                        0
                        • K Offline
                          K Offline
                          koahnig
                          wrote on last edited by
                          #14

                          [quote author="QT-static-prgm" date="1373274266"]
                          Nur eins finde ich etwas m,erkwürdig. Bei ein paar Projecten, die bereits bestanden (Bei neuen habe ich es noch nicht probiert) kann ich nicht mehr dynamisch builden. er meint er hätte QApplications,... also eigentlich alle Qxxxxxx headers nicht gefunden.
                          Hat da jemand eine Idee??[/quote]
                          Du musst beide Versionen der Qt libs auf deiner Maschine haben. Prinzipiell gilt eine Version, wie du sie für statische Libs erstellt hast, als eine Einheit. Das ganze Gesumms sollte auf einem Folder (z.B. Qt_5_0_1_statisch, oder auch Qt484_static) liegen. Der Name dient nur zur eindeutigen Unterscheidung des Builds.
                          Falls Du zum Beispiel Qt 4.8.4, das neue Qt 4.8.5 und Qt 5.1.0 mal locker als statisch und dynamisch linken möchtest, braucht das schon etwas Platz auf der Platte. Insgesamt sind dies 6 verschiedene Versionen inklusive qmake und der tools für jede dieser Versionen.
                          Diese 6 Versionen würdest du in Qt creator als unterschiedliche "Qt Versionen" einbinden und verwenden.
                          Da ist vieles doppelt und dreifach respektive 6-fach vorhanden. Allerdings solltest du nicht einfach Sachen löschen, sonst hast du schnell eine nicht funktionierende Version.

                          Ich weiss nicht ob eine "automatische" Erstellung der jeweilig notwendigen Libs direkt über den creator so geschickt ist. Das wird schnell komplex, da es verschiedene Konfigurationsmöglichkeiten gibt. Aus meinder Sicht lohnt sich diese Arbeit nicht. Die Anzahl der tutorials lässt sich damit nicht reduizieren, da du diese zum richtigen Konfigurieren innerhalb des creators brauchst. ;-)
                          Weiterhin hast gesehen, dass der gesamte Prozess etwas dauert. So etwas willst du nicht locker einmal kurz ausversehen auslösen ;-)

                          Vote the answer(s) that helped you to solve your issue(s)

                          1 Reply Last reply
                          0
                          • QT-static-prgmQ Offline
                            QT-static-prgmQ Offline
                            QT-static-prgm
                            wrote on last edited by
                            #15

                            Ja ich habe ja alle libs, dynamisch, static drauf. Sollten zu mindestens.
                            Ich habe den Ordner Qt5.1, wo Qt komplett installiert ist. Also mit minGW und libs und qmake,.... alles, was man für das ganz normale halt so braucht, und was bei der Installation von Qt mitgeliefert wird. Und dann habe ich den Ordner Qt4.8.5_static. hier liegen nur die 4.8.5 libs, welche ich dann static gebuildet habe. Sollte also alles gehen oder??

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              koahnig
                              wrote on last edited by
                              #16

                              Du möchtest Qt 5.1 dynamisch und Qt 4.8.5 statisch verwenden?

                              Vote the answer(s) that helped you to solve your issue(s)

                              1 Reply Last reply
                              0
                              • QT-static-prgmQ Offline
                                QT-static-prgmQ Offline
                                QT-static-prgm
                                wrote on last edited by
                                #17

                                Ja genau. Unten kann ich dann zwischen dy/st und jeweils debugg/release unterscheiden

                                1 Reply Last reply
                                0
                                • K Offline
                                  K Offline
                                  koahnig
                                  wrote on last edited by
                                  #18

                                  Ein Problem "könnte das widget include":http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5 sein. Dies muss bei Qt 5 verwendet werden. Ich weiss nicht, wie sich das genau äussert. Habe gerade erst Qt 5.1 installiert, aber noch nicht angefangen meine Libs zu übersetzen.

                                  [quote author="QT-static-prgm" date="1373278216"]Und dann habe ich den Ordner Qt4.8.5_static. hier liegen nur die 4.8.5 libs, welche ich dann static gebuildet habe. [/quote]
                                  Da sollten nicht nur die statishcen Libs sein, sondern auch ein bin folder mit qmake und dem Zeugs, sowie ein paar andere folder mit includes, etc. Genauso wie auch auf dem vom Download installierten Qt 5.1 es ein bin, include folder geben sollte.

                                  Vote the answer(s) that helped you to solve your issue(s)

                                  1 Reply Last reply
                                  0
                                  • QT-static-prgmQ Offline
                                    QT-static-prgmQ Offline
                                    QT-static-prgm
                                    wrote on last edited by
                                    #19

                                    AH jetzt erinnere ich mich :D

                                    das macht natürlich Sinn. Wenn ich statisch build bekomme ich eine Warnung wegen dem QT += widgets. Daher habe ich es einfach aus der Pro gelöscht, und die Warnung war weg. Für statischz braucht man es scheinbar nicht. Für dynamisch schon :D. Sollte also wieder gehen, wenn ich die Zeile wieder hinzufüge :D

                                    Werde ich gleich mal ausprobieren

                                    1 Reply Last reply
                                    0
                                    • K Offline
                                      K Offline
                                      koahnig
                                      wrote on last edited by
                                      #20

                                      Der Unterschied kommt nicht von statisch und dynamisch. Du brauchst widgets für Qt 5. Der Rest ist nur eine zufällige Korrelation.

                                      Vote the answer(s) that helped you to solve your issue(s)

                                      1 Reply Last reply
                                      0
                                      • QT-static-prgmQ Offline
                                        QT-static-prgmQ Offline
                                        QT-static-prgm
                                        wrote on last edited by
                                        #21

                                        Ah ok. Also ist es vollkommen egal, welche libs man hat??

                                        Ah ok jetzt geht es :D

                                        Ich habe gesehen, dass der Creator designer integriert hat, sodass man, wenn man ein neues Projekt anlegt auch innerhalb vom creator mit designer das Fenster ändern kann. Ich habe dann manuel das Window verändert. Doch wurde es leider nicht in der ui Datei geändert, sodass ich jetzt weitere Änderungen nicht im Designer machen kann. Gibt es da eine möglichkeit, meine änderungen in der cpp in die ui zu laden??

                                        1 Reply Last reply
                                        0
                                        • K Offline
                                          K Offline
                                          koahnig
                                          wrote on last edited by
                                          #22

                                          AFAIK Nein. Da musst nochmals anpassen.

                                          Vote the answer(s) that helped you to solve your issue(s)

                                          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