Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Windows Embedded Compact 7 - Unable to import library Qt5Gui.dll
Forum Updated to NodeBB v4.3 + New Features

Windows Embedded Compact 7 - Unable to import library Qt5Gui.dll

Scheduled Pinned Locked Moved Mobile and Embedded
16 Posts 2 Posters 7.8k 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.
  • E Offline
    E Offline
    Erakis
    wrote on last edited by
    #1

    Hi, I successfully build Qt for Windows Embedded Compact 7.

    configure -platform win32-msvc2008 -xplatform wince70embedded-armv4i-msvc2008 -no-accessibility -opengl es2

    Now I created a simple application using QML.
    I copy my exe application to root folder of my device
    Also the files from (qt5gui.dll, qt5qml.dll, qt5core.dll) took from the folder (..\qt-everywhere-opensource-src-5.4.1\qtbase\bin) but I'm getting the following error "Unable to import library Qt5Gui.dll !".

    Did I miss something ?

    Also, it is normal that I'm having this on QtCreator : Screen shot

    Best regards

    1 Reply Last reply
    0
    • E Offline
      E Offline
      Erakis
      wrote on last edited by
      #2

      Ok those files was missing :

      \msvcr90.dll
      \msvcr90d.dll)
      \platforms\qwindows.dll
      \platforms\qwindowsd.dll
      

      Now widget application are well working. But while I start a QML application I got no error message but nothing appears.

      I have the following file present too :

      \windows\libegl.dll
      \windows\libGLES_CM.dll
      \windows\libGLESv1_CM.dll
      \windows\libGLESv2.dll
      

      Did I miss something else ?

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

        Hi,

        You can find here a nice explanation of what you need to deploy an application on Windows. For the more gory details, you can take a look a the Qt's Windows Deployment chapter

        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
        • E Offline
          E Offline
          Erakis
          wrote on last edited by
          #4

          Hi SGaist,

          First of all, thank your for your support. It really appreciated :)

          I follow the instructions of the link you provide me but I'm not getting anything from executing my QML application demo. There nothing special in it, only a blue rectangle. While executing the exe file it returns immediately without any error.

          Here is the structure of my deployment : Folder structure

          I did tried using Dependency Walker to test agains all dependency but all seems to be good.

          Here is the configuration of my build :

          I modify the SDK name in the qmake.conf :

          CE_SDK                  = BBBWinCE7_SDK
          

          The configuration line :

          configure -platform win32-msvc2008 -xplatform wince70embedded-armv4i-msvc2008 -no-accessibility -opengl es2
          

          Run nmake and the the compilation succeed. I was not aware at this time that we can use shadow building to get a deploy folder... but for now this is not important.

          And the proof of the SDK installation : SDK Folder

          The last idea I had was to start debugging using Visual Studio. So I Install the Visual Studio Add-in from there qt-vs-addin-1.2.4. Once I open Visual Studio :
          1 - I click on the Qt5 menu
          2 - I click on the Qt Options
          3 - Button Add
          4 - In the version name : BBBWinCE7_SDK
          5 - In the path : H:\DevelopmentTests\qt-everywhere-opensource-src-5.4.1\qtbase
          6 - Click on the OK button

          Here is the error I'm getting : Error image

          I'm very desperate and out of idea... Hope someone will propose me some other solutions.

          Best regards,

          1 Reply Last reply
          0
          • E Offline
            E Offline
            Erakis
            wrote on last edited by
            #5

            I finally succeed to get something displaying after launching the QML application :) My structure was not entirely correct.

            Here is what I have now :

            Deploy Folder\ :.
            |   msvcr90.dll
            |   Qt5Core.dll
            |   Qt5Declarative.dll
            |   Qt5Gui.dll
            |   Qt5Network.dll
            |   Qt5OpenGL.dll
            |   Qt5Qml.dll
            |   Qt5Quick.dll
            |   Qt5QuickTest.dll
            |   Qt5Script.dll
            |   Qt5ScriptTools.dll
            |   Qt5Sql.dll
            |   Qt5Svg.dll
            |   Qt5Test.dll
            |   Qt5Widgets.dll
            |   Qt5Xml.dll
            |   Qt5XmlPatterns.dll
            |   MyApplication.exe       // My Application
            |   
            +---imageformats
            |       qdds.dll
            |       qddsd.dll
            |       qgif.dll
            |       qgifd.dll
            |       qicns.dll
            |       qicnsd.dll
            |       qico.dll
            |       qicod.dll
            |       qjpeg.dll
            |       qjpegd.dll
            |       qmng.dll
            |       qmngd.dll
            |       qsvg.dll
            |       qsvgd.dll
            |       qtga.dll
            |       qtgad.dll
            |       qtiff.dll
            |       qtiffd.dll
            |       qwbmp.dll
            |       qwbmpd.dll
            |       qwebp.dll
            |       qwebpd.dll
            |       
            +---platforms
            |       msvcr90.dll
            |       qminimal.dll
            |       qoffscreen.dll
            |       qwindows.dll
            |       
            +---qml
            |   \---MyApplication           // Nothing here as I have a qrc file, so all is embedded in exe ?
            +---Qt
            |   +---labs
            |   |   +---folderlistmodel
            |   |   |       plugins.qmltypes
            |   |   |       qmldir
            |   |   |       qmlfolderlistmodelplugin.dll
            |   |   |       qmlfolderlistmodelplugind.dll
            |   |   |       
            |   |   \---settings
            |   |           plugins.qmltypes
            |   |           qmldir
            |   |           qmlsettingsplugin.dll
            |   |           qmlsettingsplugind.dll
            |   |           
            |   \---WebSockets
            |           declarative_qmlwebsockets.dll
            |           declarative_qmlwebsocketsd.dll
            |           plugins.qmltypes
            |           qmldir
            |           
            +---QtBluetooth
            |       declarative_bluetooth.dll
            |       declarative_bluetoothd.dll
            |       plugins.qmltypes
            |       qmldir
            |       
            +---QtGraphicalEffects
            |   |   Blend.qml
            |   |   BrightnessContrast.qml
            |   |   Colorize.qml
            |   |   ColorOverlay.qml
            |   |   ConicalGradient.qml
            |   |   Desaturate.qml
            |   |   DirectionalBlur.qml
            |   |   Displace.qml
            |   |   DropShadow.qml
            |   |   FastBlur.qml
            |   |   GammaAdjust.qml
            |   |   GaussianBlur.qml
            |   |   Glow.qml
            |   |   HueSaturation.qml
            |   |   InnerShadow.qml
            |   |   LevelAdjust.qml
            |   |   LinearGradient.qml
            |   |   MaskedBlur.qml
            |   |   OpacityMask.qml
            |   |   qmldir
            |   |   RadialBlur.qml
            |   |   RadialGradient.qml
            |   |   RectangularGlow.qml
            |   |   RecursiveBlur.qml
            |   |   ThresholdMask.qml
            |   |   ZoomBlur.qml
            |   |   
            |   \---private
            |           FastGlow.qml
            |           FastInnerShadow.qml
            |           FastMaskedBlur.qml
            |           GaussianDirectionalBlur.qml
            |           GaussianGlow.qml
            |           GaussianInnerShadow.qml
            |           GaussianMaskedBlur.qml
            |           SourceProxy.qml
            |           
            +---QtLocation
            |       declarative_location.dll
            |       declarative_locationd.dll
            |       plugins.qmltypes
            |       qmldir
            |       
            +---QtMultimedia
            |       declarative_multimedia.dll
            |       declarative_multimediad.dll
            |       plugins.qmltypes
            |       qmldir
            |       Video.qml
            |       
            +---QtNfc
            |       declarative_nfc.dll
            |       declarative_nfcd.dll
            |       plugins.qmltypes
            |       qmldir
            |       
            +---QtPositioning
            |       declarative_positioning.dll
            |       declarative_positioningd.dll
            |       plugins.qmltypes
            |       qmldir
            |       
            +---QtQml
            |   +---Models.2
            |   |       modelsplugin.dll
            |   |       modelsplugind.dll
            |   |       qmldir
            |   |       
            |   \---StateMachine
            |           plugins.qmltypes
            |           qmldir
            |           qtqmlstatemachine.dll
            |           qtqmlstatemachined.dll
            |           
            +---QtQuick
            |   +---LocalStorage
            |   |       plugins.qmltypes
            |   |       qmldir
            |   |       qmllocalstorageplugin.dll
            |   |       qmllocalstorageplugind.dll
            |   |       
            |   +---Particles.2
            |   |       particlesplugin.dll
            |   |       particlesplugind.dll
            |   |       plugins.qmltypes
            |   |       qmldir
            |   |       
            |   +---Window.2
            |   |       plugins.qmltypes
            |   |       qmldir
            |   |       windowplugin.dll
            |   |       windowplugind.dll
            |   |       
            |   \---XmlListModel
            |           plugins.qmltypes
            |           qmldir
            |           qmlxmllistmodelplugin.dll
            |           qmlxmllistmodelplugind.dll
            |           
            +---QtQuick.2
            |       plugins.qmltypes
            |       qmldir
            |       qtquick2plugin.dll
            |       qtquick2plugind.dll
            |       
            +---QtSensors
            |       declarative_sensors.dll
            |       declarative_sensorsd.dll
            |       plugins.qmltypes
            |       qmldir
            |       
            +---QtTest
            |       plugins.qmltypes
            |       qmldir
            |       qmltestplugin.dll
            |       qmltestplugind.dll
            |       SignalSpy.qml
            |       TestCase.qml
            |       testlogger.js
            |       
            \---QtWebChannel
                    declarative_webchannel.dll
                    declarative_webchanneld.dll
                    plugins.qmltypes
                    qmldir      
            
            

            But I still have a problem, I'm using svg image in my qrc file and display it using an image element (source : "qrc:/img..."). On Windows Desktop there no problem the image are display but on Windows Embedded Compact 7 they are not display. More, to allow application to start I have to rename the folder imageformats else the application do nothing. While the imageformats folder is here the application start but I have no images. What could be the problem ? A missing pluging ?

            About the Visual Studio setup problem versus the SDK I did not found any solution yet, this is VERY, VERY annoying !

            Best regards,

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

              Do you have the svg plugin on WEC7 ?

              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
              • E Offline
                E Offline
                Erakis
                wrote on last edited by
                #7

                How to know?

                If the dll "/imagesformats/qsvg.dll" is here and the "qtsvg.dll" is also at the root of the project, is that correct ?

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

                  That part looks good

                  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
                  • E Offline
                    E Offline
                    Erakis
                    wrote on last edited by
                    #9
                    • list itemI create a QtQuick2 empty exemple.
                    • Copy the executable on the SDCard deploy folder, \DeployFolder
                    • I copy the folder \qml to *\DeployFolder*
                    • I copy the folder \plugins to *\DeployFolder*
                    • I copy ALL the DLL of \bin to *\DeployFolder*
                    • I copy the file msvcr90.dll to *\DeployFolder*

                    Still no result, the application is hanging while starting, no output. What could be missing ? I've put ALL what exists from the build directory of QT ! This is very annoying :(

                    The SVG seems to be buggy on Windows CE or there something that I don't understand yet.

                    Somebody has another idea ?

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

                      Then let's get back to the basics, can you run a simple hello world ?

                      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
                      • E Offline
                        E Offline
                        Erakis
                        wrote on last edited by Erakis
                        #11

                        Yes without any problem.

                        I can also run application based Widget.

                        I can also run QtQuick2 application if I don't include the /imageformats folder. But this way I cannot use any svg images or any other image that need plugin inside of this folder. As long as I include the /imageformats folder, the application start but I have no display.

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

                          Ok, then do you have the problem only with the svg plugin or any of the other ?

                          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
                          • E Offline
                            E Offline
                            Erakis
                            wrote on last edited by Erakis
                            #13

                            Here is what I have tried :

                            • I create an empty QtQuick2 project and copy it to my deploy. The deploy folder is having ALL QT plugins, dll, etc...
                              • Copy the executable on the SDCard deploy folder, \DeployFolder
                              • I copy the folder \qml to \DeployFolder
                              • I copy the folder \plugins to \DeployFolder
                              • I copy ALL the DLL of \bin to \DeployFolder
                              • I copy the file msvcr90.dll to \DeployFolder

                            I launch the executable and then it start properly and I have a window with graphical output.

                            Secondly I add this to application :

                            <RCC>
                                <qresource prefix="/">
                                    <file>main.qml</file>
                                    <file>MainForm.ui.qml</file>
                                    <file>CMYK.jpg</file>
                                </qresource>
                            </RCC>
                            
                            Window {
                                visible: true
                                MainForm {
                                    anchors.fill: parent
                                    Image {
                                        source: "qrc:/CMYK.jpg"
                                        width : 80;  height : 80;
                                    }
                                }
                            }
                            

                            It start properly with graphical output.

                            Now I remove the jpg image and replace it by one of my SVG file. Surprise, it works also !!!

                            Now I tried to add 5 more SVG images to my resource file and create 5 more images element to my qml, but this time it failed ! Same problem as my original application. Now we can deduce that this is the number of images that makes the application crash or is it a particular image QT dislikes. To be sure I have tried with some of the svg images that I found in **src\qtsvg\examples\svg**, some works, other not.

                            After doing some test, I conclude that some svg image are crashing application and other simply work. This is weird, those image a very tiny icon not complex. And why they are ALL working on Windows Desktop but not on Windows CE ? Is there any limitation or know issue on Windows CE about SVG images ? I hope someone here can confirm this and provide a fix if possible.

                            As example, those one are not working on Windows CE:

                            Image { source: "qrc:/bubbles.svg"; sourceSize.width: 60; sourceSize.height: 60; width : 60; height : 60}
                            Image { source: "qrc:/volume-up.svg"; sourceSize.width: 60; sourceSize.height: 60; width : 60; height : 60}
                            Image { source: "qrc:/spinner.svg"; sourceSize.width: 60; sourceSize.height: 60; width : 60; height : 60}
                            
                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by SGaist
                              #14

                              Can you check whether they use the same SVG standard ?

                              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
                              • E Offline
                                E Offline
                                Erakis
                                wrote on last edited by
                                #15

                                This the ones that are coming with QT example... they should work.

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

                                  At least bubbles.svg is animated, so I wonder if it has something to do with it

                                  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