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. Qt5 QWidget project dependencies? OpenGL? Direct3D? WTH?
Forum Updated to NodeBB v4.3 + New Features

Qt5 QWidget project dependencies? OpenGL? Direct3D? WTH?

Scheduled Pinned Locked Moved General and Desktop
49 Posts 9 Posters 35.6k 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.
  • U Offline
    U Offline
    utcenter
    wrote on last edited by
    #16

    I still cannot get the Qt5 executable to run on another system... Dependency walker wasn't much help - I get no errors, no notifications, no nothing, the exe just doesn't start. I managed to make it run on the development machine outside of Creator, but that's about it...

    Those are the DLLs I added:

    D3DCompiler_46.dll
    libEGL.dll
    libGLESv2.dll
    msvcp110.dll
    msvcr110.dll
    Qt5Core.dll
    Qt5Gui.dll
    Qt5Widgets.dll
    qwindows.dll

    Haven't added icu since I built Qt5 without the webkit...

    1 Reply Last reply
    0
    • A Offline
      A Offline
      astodolski
      wrote on last edited by
      #17

      [quote author="Lukas Geyer" date="1356970453"][quote author="utcenter" date="1356963333"]I get the feeling the Qt4 solution was more elegant - the same build can be used to develop OpenGL applications, but for those that do not use OpenGL, it is not a requirement...[/quote]It was a deliberate design and release decision (I don't see a reason one would not take advantage of OpenGL unless there are very specific reasons, in which case you can still remove the dependency using <code>-no-opengl</code>). Separation and abstraction does not come for free.

      In addition, deployment is a Windows issue only, a platform where Qt is usually deployed with the application anyways.

      [quote author="utcenter" date="1356963333"]BTW shouldn't platform specific APIs be abstracted from? The logical thing would be for the same Qt APIs to be ported to work work regardless of the platform's vendor specific APIs? Wasn't the very idea of Qt to be platform agnostic?[/quote]What platform-specific resp. vendor-specific APIs?

      [/quote]

      Entering a configure options list like the one below:

      configure -developer-build -opensource -nomake examples -no-opengl -no-icu

      Fails miserably

      1 Reply Last reply
      0
      • A Offline
        A Offline
        astodolski
        wrote on last edited by
        #18

        [quote author="Lukas Geyer" date="1356970453"][quote author="utcenter" date="1356963333"]I get the feeling the Qt4 solution was more elegant - the same build can be used to develop OpenGL applications, but for those that do not use OpenGL, it is not a requirement...[/quote]It was a deliberate design and release decision (I don't see a reason one would not take advantage of OpenGL unless there are very specific reasons, in which case you can still remove the dependency using <code>-no-opengl</code>). Separation and abstraction does not come for free.

        In addition, deployment is a Windows issue only, a platform where Qt is usually deployed with the application anyways.

        [quote author="utcenter" date="1356963333"]BTW shouldn't platform specific APIs be abstracted from? The logical thing would be for the same Qt APIs to be ported to work work regardless of the platform's vendor specific APIs? Wasn't the very idea of Qt to be platform agnostic?[/quote]What platform-specific resp. vendor-specific APIs?

        [/quote]

        Entering a configure options list like the one below:

        configure -developer-build -opensource -nomake examples -no-opengl -no-icu

        Fails miserably

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

          Define 'fails miserably'.

          If you are not going to autotest Qt you do not need a <code>-developer-build</code>. And never release one.

          1 Reply Last reply
          0
          • D Offline
            D Offline
            detonator
            wrote on last edited by
            #20

            Use static build, you will have one .exe (about 15Mb) worked from flashdrive elsewhere.

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

              Unfortunately, that is not an option for commercial applications if you don't have a commercial Qt license, which is pretty pricey, especially for startup indie developers.

              1 Reply Last reply
              0
              • Chris KawaC Offline
                Chris KawaC Offline
                Chris Kawa
                Lifetime Qt Champion
                wrote on last edited by
                #22

                [quote author="utcenter" date="1357159840"]
                Those are the DLLs I added:

                D3DCompiler_46.dll
                libEGL.dll
                libGLESv2.dll
                msvcp110.dll
                msvcr110.dll
                Qt5Core.dll
                Qt5Gui.dll
                Qt5Widgets.dll
                qwindows.dll
                [/quote]
                Should be /platforms/qwindows.dll, i.e. in a sub-directory.

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  astodolski
                  wrote on last edited by
                  #23

                  [quote author="Lukas Geyer" date="1359052917"]Define 'fails miserably'.[/quote]

                  41 linker errors beginning with failing to build Qt5PrintSupport.dll.

                  That's miserable!

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    lgeyer
                    wrote on last edited by
                    #24

                    You may provide any other information than 'miserable' if you are out for decent help, like the Qt version you are trying to build, the compiler and the configuration and the actual linker errors.

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      astodolski
                      wrote on last edited by
                      #25

                      [quote author="Lukas Geyer" date="1359061129"]You may provide any other information than 'miserable' if you are out for decent help, like the Qt version you are trying to build, the compiler and the configuration and the actual linker errors.[/quote]

                      I'll try. As I said 41 linker errors are a lot to display. What would be the best way to illustrate them?

                      I downloaded version 5.0 for Windows 32-bit VS2010 to a Win 7 x86 machine with Active Perl, Python, Win SDK 7.1.

                      Ran configure without opengl , icu.
                      Ran nmake.
                      As nmake attempted to link Qt5PrintSupport.dll, Link errors.

                      1 Reply Last reply
                      0
                      • L Offline
                        L Offline
                        lgeyer
                        wrote on last edited by
                        #26

                        [quote author="astodolski" date="1359062332"]As I said 41 linker errors are a lot to display. What would be the best way to illustrate them?[/quote]

                        I think a "paste":http://pastebin.com/ of the failed compilation step including the linker errors should be sufficient.

                        In addition, I do recommend to use the "source package":http://releases.qt-project.org/qt5/5.0.0/single/qt-everywhere-opensource-src-5.0.0.zip found on the Downloads page instead of the 'Source' options of the SDK (they were different at least for Qt4, don't ask me why and if this has changed for Qt5).

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          astodolski
                          wrote on last edited by
                          #27

                          [quote author="Lukas Geyer" date="1359096095"][quote author="astodolski" date="1359062332"]As I said 41 linker errors are a lot to display. What would be the best way to illustrate them?[/quote]

                          I think a "paste":http://pastebin.com/ of the failed compilation step including the linker errors should be sufficient.

                          In addition, I do recommend to use the "source package":http://releases.qt-project.org/qt5/5.0.0/single/qt-everywhere-opensource-src-5.0.0.zip found on the Downloads page instead of the 'Source' options of the SDK (they were different at least for Qt4, don't ask me why and if this has changed for Qt5).[/quote]

                          As per your suggestions, I did the following:

                          I have been using the "source package" since the start of this issue. I copied the contents to: C:\Qt\5.0.0

                          I executed in the root folder: configure -opensource -nomake tests -no-opengl -no-icu

                          Output is posted "here":http://pastebin.com/Fcb2g4Tv

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            astodolski
                            wrote on last edited by
                            #28

                            Hey Lukas, I posted my findings so as to obtain "decent help". Were you able to have a look?

                            1 Reply Last reply
                            0
                            • L Offline
                              L Offline
                              lgeyer
                              wrote on last edited by
                              #29

                              Looks like you don't link against gdi32.lib for some reason. Do you build from a VisualStudio command line?

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                astodolski
                                wrote on last edited by
                                #30

                                [quote author="Lukas Geyer" date="1359571502"]Looks like you don't link against gdi32.lib for some reason. Do you build from a VisualStudio command line?[/quote]

                                I use the Windows SDK command line. I didn't notice any link errors relating to that lib.

                                1 Reply Last reply
                                0
                                • L Offline
                                  L Offline
                                  lgeyer
                                  wrote on last edited by
                                  #31

                                  All those unresolved symbols (__imp__StartPage@4, __imp__StartDocW@8, ...) are part of gdi32.lib which doesn't seem to be linked for some reason.

                                  I've never seen this problem occouring before.

                                  I would suggest a fresh build from a Windows SDK command line; it this doesn't work please file "bug report":https://bugreports.qt-project.org/.

                                  1 Reply Last reply
                                  0
                                  • A Offline
                                    A Offline
                                    astodolski
                                    wrote on last edited by
                                    #32

                                    [quote author="Lukas Geyer" date="1359574684"]All those unresolved symbols (__imp__StartPage@4, __imp__StartDocW@8, ...) are part of gdi32.lib which doesn't seem to be linked for some reason.

                                    I've never seen this problem occouring before.

                                    I would suggest a fresh build from a Windows SDK command line; it this doesn't work please file "bug report":https://bugreports.qt-project.org/.[/quote]

                                    I DID a fresh build from source on the Win SDK command line. I followed EVERYTHING in the notes. For what it's worth, I did file the issue as a bug linked "here":https://bugreports.qt-project.org/browse/QTBUG-29360

                                    1 Reply Last reply
                                    0
                                    • N Offline
                                      N Offline
                                      nomegenerico
                                      wrote on last edited by
                                      #33

                                      If you do not see the relevance...go and find an oculist.
                                      Is there any serious design advantage or technical reason to impose unused and HUGE runtime dependency (25,9 MB!!!!!) unless you recompile your version of the whole Qt Framework?!?
                                      This is a pain in the ass, no way to not admit it.

                                      I only hope is not a slow strategy to make, in the time, the LGPL alternative less attractive than the commercial one...I think I'm wrong in that, but when I read answer like yours to a more than licit objection really some doubt raise.

                                      1 Reply Last reply
                                      0
                                      • N Offline
                                        N Offline
                                        nomegenerico
                                        wrote on last edited by
                                        #34

                                        If you do not see the relevance...go and find an oculist.
                                        Is there any serious design advantage or technical reason to impose unused and HUGE runtime dependency (25,9 MB!!!!!) unless you recompile your version of the whole Qt Framework?!?
                                        This is a pain in the ass, no way to not admit it.

                                        I only hope is not a slow strategy to make, in the time, the LGPL alternative less attractive than the commercial one...I think I'm wrong in that, but when I read answer like yours to a more than licit objection really some doubt raise.

                                        [quote author="Lukas Geyer" date="1357136305"]I didn't mean to infantilize you.

                                        I just don't see the relevance of your request in practice. This does neither mean that your requests are "...groundless..." that make you an "...clueless idiot..." and me the incarnation of ..."greatness and concern...", nor that I'm right and you are wrong - it just means that I have a different opinion on the question you've asked and the points you've raised, and that I do not find your arguments suitable enough to convince me of the contrary. That's the nature of discussions, and no reason to get into a huff.

                                        Granted, the granularity of modularization can be argued over, most probably for all eternity. But I don't see the current one beeing disputable relating to dependencies, because there is still the option to not depend on stuff I do not want or need to, for example OpenGL or DirectX. Officially released shared libraries will always compel you to distribute stuff your application does not depend on, be it other shared libraries or data and code in existing libraries you do not use, because they are made to support any application, not a specific one.

                                        It is indeed your right to think that I'm wrong and to demand changes if you think that a wrong decision has been made, by either filing a bug report or participating in development - of course at the risk that others don't find your arguments suitable enough as well. Not every decision you find "...stupid..." has to be actually stupid.

                                        And I again invite you to join the Qt Development Mailing List and the Qt Open Governance Code Review to find out how and why decisions are made in the Qt Project.[/quote]

                                        1 Reply Last reply
                                        0
                                        • L Offline
                                          L Offline
                                          lgeyer
                                          wrote on last edited by
                                          #35

                                          [quote author="nomegenerico" date="1367248622"]Is there any serious design advantage or technical reason to impose unused and HUGE runtime dependency (25,9 MB!!!!!) unless you recompile your version of the whole Qt Framework?!?[/quote]
                                          WebKit (commercial and open source) requires ICU, Windows as in WebGL, WinRT and (Intel) OpenGL (commercial and open source) requires DirectX and ANGLE; feel free to forward your request to WebKit.org, Microsoft and Intel.

                                          You'll also find a sympathetic ear at "bugreports.qt-projects.org":https://bugreports.qt-project.org/ (to be honest, I'm not so confident for the others).

                                          Alternatively use a Qt which does not depend on ICU or ANGLE, either downloaded or built on your own, which is work equivalent to a coffee break.

                                          It is licit for you to find this an unreasonable burden; it is licit for me and the oculist to find it isn't.

                                          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