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. Cannot run application written with Qt5.3 and QML in Win7, x86
Forum Updated to NodeBB v4.3 + New Features

Cannot run application written with Qt5.3 and QML in Win7, x86

Scheduled Pinned Locked Moved General and Desktop
15 Posts 4 Posters 28.2k 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.
  • C Offline
    C Offline
    cristeab
    wrote on 31 May 2014, 18:45 last edited by
    #1

    Hi

    I have a cross-platform application written with Qt5.3 and QML. I have generated the installer for Windows with NSIS and tested on several platforms (Windows installed in VirtualBox). My application runs on Win 8, both x86 and x64, and Win7 x64. However, on Win 7 x86 I get the following error:

    @Failed to create OpenGL context for format QSurfaceFormat(version 2.0 options QFlags(), depthBufferSize -1, greenBufferSize -1, ...)@

    All platforms below Win7 have the same error. My application install folder contains also Angle Open GL ES emulation libraries. Is there a work around this issue or is this a limitation of Qt5.3 ?

    thanks
    Bogdan

    1 Reply Last reply
    0
    • B Offline
      B Offline
      BorislavK
      wrote on 14 Jul 2014, 03:50 last edited by
      #2

      [SOLVED]
      Hi,
      I am in similar situation with 32-bit Win7 installed in VirtualBox and Qt5.3.1 installed in Win7. Upon launching the QtCreator I get a lengthy message starting like yours:
      @
      Failed to create OpenGL context for format QSurfaceFormat( ...
      @
      I was wondering if you managed to overcome the problem. Any advice would be greatly appreciated.

      Best,
      Borislav

      EDIT: The problem with the Qt Creator in that setup is completely circumvented by the three steps in the next post.

      1 Reply Last reply
      0
      • J Offline
        J Offline
        JKSH
        Moderators
        wrote on 14 Jul 2014, 04:08 last edited by
        #3

        Hi,

        VirtualBox cannot render Qt's OpenGL-based items, unfortunately. See http://stackoverflow.com/questions/21127335/why-does-qt-creator-3-0-0-welcome-mode-not-work-in-vm

        To get rid of the message in Qt Creator, disable the Welcome Screen:

        In Qt Creator, go to "Help" -> "About Plugins..."

        Uncheck "Qt Creator" -> "Welcome"

        Restart Qt Creator

        Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

        1 Reply Last reply
        0
        • B Offline
          B Offline
          BorislavK
          wrote on 15 Jul 2014, 18:22 last edited by
          #4

          Thanks a lot for pointing out the problem.

          Even if I get rid of the message triggered by the Welcome Screen failure, I still will not be able to use the Qt Creator to compile a GUI application (which likely uses OpenGL-based items). It seems that the VirtualBox can not be used to compile or test Qt applications under ANY guest operating system. I personally tried to deploy a Qt-based application in Ubuntu 14.04 installed inside VirtualBox. It failed and reported some OpenGL issues. Same copy later deployed successfully in Ubuntu 14.04 running on a dual-boot machine (which never had Qt installed on it).

          1 Reply Last reply
          0
          • J Offline
            J Offline
            JKSH
            Moderators
            wrote on 15 Jul 2014, 23:11 last edited by
            #5

            You're welcome :)

            You can compile after you install the compiler (g++) and Mesa libraries (libgl1-mesa-dev package)

            Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

            1 Reply Last reply
            0
            • A Offline
              A Offline
              ambershark
              wrote on 16 Jul 2014, 23:45 last edited by
              #6

              I use virtualbox for all my Qt windows GUI applications. It compiles and runs them just fine.

              OpenGL is not used in Qt GUI apps unless you specifically choose to use it.

              Edit: have used it with windows xp/7/8/8.1 all in VMs run by virtualbox. My host platform is linux, in case that helps.

              My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

              1 Reply Last reply
              0
              • B Offline
                B Offline
                BorislavK
                wrote on 17 Jul 2014, 01:07 last edited by
                #7

                JKSH: Just making sure I understood your suggestion correctly: suppose I have

                Ubuntu host running VirtualBox with Windows 7 guest.

                Then, I am supposed to install the compiler (g++) and Mesa libraries (libgl1-mesa-dev package) on the Ubuntu host, restart VirtualBox with the Windows 7 guest, and try to compile my application with the Qt Creator. Is that the plan?

                [SOLVED]
                ambershark: Your post is very encouraging. Maybe I have a separate problem which I incorrectly assumed is related to OpenGL. On

                Windows 8 host running VirtualBox with Ubuntu 14.04 guest,

                when I deploy my application, I get these two errors:

                @libGL error: failed to authenticate magic 3
                libGL error: failed to load driver: vboxvideo @

                My GUI starts normally but when I try to load an image (I have an image processing application) that image does not show in the image viewer and can not be processed in any way. It seems that the image is never read successfully. The very same binary deploys fine in Ubuntu 14.04 running on a dual-boot machine (which never had Qt installed on it).

                Isn't that an OpenGL problem? Or by reading .tif images I implicitly chose to use OpenGL?

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  ambershark
                  wrote on 17 Jul 2014, 02:14 last edited by
                  #8

                  Well it could be an opengl problem, but I don't think so. I think you have a plugin issue or didn't build the image plugin into the code properly.

                  While I've never used the tif format it should be like jpg/png/gif which I have used. Most of those either need a plugin or need to be built with system lib support.

                  If it's a plugin issue you need to make sure you deploy the plugin with your application. An easy test would be seeing if it worked in your non-deployed package. I.e. you build the application in your development environment and run it, it should have all the plugin stuff it needs to run.

                  If it works there and not once deployed then you missed the plugin during your deploy phase.

                  For instance when deploying one of my recent apps for windows my directory would look like this:

                  @
                  .
                  ./Qt5Multimedia.dll
                  ./Qt5Core.dll
                  ./Qt5Qml.dll
                  ./libstdc++-6.dll
                  ./terminals.xml
                  ./libqextserialport.dll
                  ./platforms
                  ./platforms/qoffscreen.dll
                  ./platforms/qminimal.dll
                  ./platforms/qwindows.dll
                  ./libwinpthread-1.dll
                  ./icuin51.dll
                  ./icudt51.dll
                  ./Qt5Sensors.dll
                  ./libquazip.dll
                  ./Qt5WebKitWidgets.dll
                  ./Qt5Sql.dll
                  ./libsharkcore.dll
                  ./icuuc51.dll
                  ./libgcc_s_dw2-1.dll
                  ./Qt5V8.dll
                  ./doc
                  ./doc/package-open.png
                  ./doc/package-removefiles.png
                  ./doc/application-icon-32.png
                  ./doc/package-addfiles.png
                  ./doc/package-build.png
                  ./doc/dpk-help.html
                  ./doc/package-new.png
                  ./libXMLManager.dll
                  ./Qt5WebKit.dll
                  ./dpk-cli.exe
                  ./plugins
                  ./plugins/libdpkplugin.dll
                  ./Qt5OpenGL.dll
                  ./Qt5Widgets.dll
                  ./Qt5Gui.dll
                  ./libdpklogic.dll
                  ./dpk-app.exe
                  ./Qt5XmlPatterns.dll
                  ./Qt5Xml.dll
                  ./libcommon.dll
                  ./Qt5PrintSupport.dll
                  ./Qt5Network.dll
                  ./Qt5MultimediaWidgets.dll
                  ./Qt5Quick.dll
                  @

                  So in that above example if I had needed for instance the tiff plugin I would have added:

                  @
                  plugins/imageformats/libtiff.dll
                  @

                  That plugin comes from <qt root>/plugins/imageformats/.

                  As for your opengl stuff I would say that you are just having issues with opengl and virtualbox and that it isn't needed for your Qt stuff. You would really need to specifically include opengl for Qt to use it. I don't use opengl much but from Qt4 you had to do QT += opengl in your pro file. Guessing it is the same for Qt5 now-a-days and if you didn't do that or #include any opengl headers chances are your app doesn't use it at all.

                  My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    JKSH
                    Moderators
                    wrote on 17 Jul 2014, 06:08 last edited by
                    #9

                    [quote author="BorislavK" date="1405559271"]JKSH: Just making sure I understood your suggestion correctly: suppose I have

                    Ubuntu host running VirtualBox with Windows 7 guest.

                    Then, I am supposed to install the compiler (g++) and Mesa libraries (libgl1-mesa-dev package) on the Ubuntu host, restart VirtualBox with the Windows 7 guest, and try to compile my application with the Qt Creator. Is that the plan?[/quote]Sorry, I thought you wanted to run Qt Creator in Ubuntu.

                    If you want to run Qt Creator in Ubuntu, then install g++ and libgl1-mesa-dev. This applies to both "real" machines and virtual machines.

                    If you want to run Qt Creator in a VM guest, then you don't need to do anything in the VM host.

                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      BorislavK
                      wrote on 18 Jul 2014, 08:04 last edited by
                      #10

                      ambershark: You are absolutely correct. I did have a plugin issue. My approach to plugins was rather naive in assuming that I will be explicitly informed if any is missing as is the case with the Qt libraries. After adding all necessary imageformats plugins to the package it deploys fine in my

                      Ubuntu 14.04 guest of VirtualBox running on Windows 8 host.

                      I still get the two libGL error but they do not seem to affect the application. Thanks a lot. You saved me considerable trouble that was certainly coming.

                      Just confirming that I do not have QT += opengl in my pro file and do not #include any OpenGL header files. And, to add the plugins I had to use the format

                      /imageformats/libtiff.dll

                      instead of

                      /plugins/imageformats/libtiff.dll.

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        BorislavK
                        wrote on 18 Jul 2014, 08:06 last edited by
                        #11

                        JKSH: Thank you for clarifying. I am still to work on the Windows 7 guest to see if Qt can compile any code there once the Welcome screen is disabled.

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          ambershark
                          wrote on 18 Jul 2014, 19:52 last edited by
                          #12

                          Great news... Sorry about the bad path for the plugins. I forgot in that project I had setup custom plugin paths for the plugin I had in there.

                          Anyway, glad it's all figured out.

                          The opengl thing is nothing to worry about, it's a virtualbox thing that isn't working right now. Has nothing to do with your code at all. :)

                          And Qt's handling of plugins comes with absolutely no usable error message if it doesn't get included. It bugs me sometimes. The worst is the platform plugins if they are missing can cause crashing rather than an error message. Although those do have messages if things get far enough.

                          Oh and don't forget to add [SOLVED] to your thread title for future people.

                          My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                          1 Reply Last reply
                          0
                          • B Offline
                            B Offline
                            BorislavK
                            wrote on 18 Jul 2014, 20:22 last edited by
                            #13

                            Thanks again. I did add the [SOLVED] tag. Also on the subject, the article at

                            http://www.tripleboot.org/?p=536

                            has a section about deploying plugins which was very useful in my case. It also offers what seems to be a rigorous technique to find out which plugins are needed. It is in the spirit of using Dependency Walker (or ldd on Linux) to find the DLLs your app depends on. (I did not try it but it is there.)

                            1 Reply Last reply
                            0
                            • B Offline
                              B Offline
                              BorislavK
                              wrote on 21 Jul 2014, 04:43 last edited by
                              #14

                              JKSH: After overcoming two other problems, unrelated to VirtualBox, I was able to compile and deploy (on a different copy) of 32-bit Windows 7 running inside VirtualBox. Indeed, the only problem with the Qt Creator in that setup is the Welcome Screen and it is completely circumvented by the three steps in JKSH's post from July 14, 2014.
                              I am considering the problem solved. Thanks a lot, JKSH. Your answer is right on target.

                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                JKSH
                                Moderators
                                wrote on 28 Jul 2014, 12:23 last edited by
                                #15

                                You're welcome :) Happy coding!

                                Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                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