Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QML applications do not run on WEC7



  • Hello,
    I have built the Qt 5.3.2 libraries for WEC7. I used "wince70embedded-armv4i-msvc2008" as template and replaced the SDK to "mySDK" and CE_arch to armv7 :

    @CE_SDK = mySDK # replace with actual SDK name
    CE_ARCH = armv7

    DEFINES += QT_NO_CLIPBOARD QT_NO_ACCESSIBILITY QT_NO_NATIVE_GESTURES QT_NOSTANDARDSHELL_UI_MODEL _CRT_SECURE_NO_DEPRECATE _WIN32_WCE=0x700 $$CE_ARCH AMRV7 armv7 ARM

    QMAKE_CFLAGS += -QRarch7 -arch:VFPv3-D32 -QRfpe-
    QMAKE_CXXFLAGS = $$QMAKE_CFLAGS

    QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB /ENTRY:mainACRTStartup
    QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB
    QMAKE_LFLAGS_DLL = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB /DLL /SAFESEH:NO
    QMAKE_LIBFLAGS_RELEASE = /LTCG
    QMAKE_LIBS = corelibc.lib coredll.lib
    QMAKE_LIBS_CORE = corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib
    QMAKE_LIBS_GUI = ceshell.lib ole32.lib $$QMAKE_LIBS_CORE
    QMAKE_LIBS_NETWORK = ws2.lib $$QMAKE_LIBS_GUI
    QMAKE_LIBS_OPENGL =
    QMAKE_LIBS_COMPAT =
    QMAKE_LIBS_OPENVG = libopenvg.lib
    QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib

    QMAKE_RC = rc

    QMAKE_COMPILER_DEFINES -= _MSC_VER=1400
    QMAKE_COMPILER_DEFINES += _MSC_VER=1500@

    Build process:
    @configure -xplatform wince70-myPlatform-msvc2008 -developer-build -opensource -confirm-license -nomake tests -nomake examples -no-accessibility -opengl es2 -skip qtactiveqt -skip qtwinextras -skip qtlocation@

    @jom@

    I used the skip directives and -no-accessibility due to build errors. Only with this additional directives I was able to build the libraries. But Quickcontrols werde not built. I found the following error in log file:

    @Creating library C:\QtCe\build2\qtbase\qml\QtNfc\declarative_nfc.lib and object C:\QtCe\build2\qtbase\qml\QtNfc\declarative_nfc.exp
    cd qtdoc\ && ( if not exist Makefile C:\QtCe\build2\qtbase\bin\qmake C:\QtCe\qt-everywhere-opensource-src-5.3.2\qtdoc\qtdoc.pro -o Makefile ) && C:\QtCe\qt-everywhere-opensource-src-5.3.2\gnuwin32\bin\jom.exe -f Makefile
    cd qtquickcontrols\ && ( if not exist Makefile C:\QtCe\build2\qtbase\bin\qmake C:\QtCe\qt-everywhere-opensource-src-5.3.2\qtquickcontrols\qtquickcontrols.pro -o Makefile ) && C:\QtCe\qt-everywhere-opensource-src-5.3.2\gnuwin32\bin\jom.exe -f Makefile
    cd qtsensors\ && ( if not exist Makefile C:\QtCe\build2\qtbase\bin\qmake C:\QtCe\qt-everywhere-opensource-src-5.3.2\qtsensors\qtsensors.pro -o Makefile ) && C:\QtCe\qt-everywhere-opensource-src-5.3.2\gnuwin32\bin\jom.exe -f Makefile
    cd qtenginio\ && ( if not exist Makefile C:\QtCe\build2\qtbase\bin\qmake C:\QtCe\qt-everywhere-opensource-src-5.3.2\qtenginio\qtenginio.pro -o Makefile ) && C:\QtCe\qt-everywhere-opensource-src-5.3.2\gnuwin32\bin\jom.exe -f Makefile
    cd qtwebsockets\ && ( if not exist Makefile C:\QtCe\build2\qtbase\bin\qmake C:\QtCe\qt-everywhere-opensource-src-5.3.2\qtwebsockets\qtwebsockets.pro -o Makefile ) && C:\QtCe\qt-everywhere-opensource-src-5.3.2\gnuwin32\bin\jom.exe -f Makefile
    cd qtgraphicaleffects\ && ( if not exist Makefile C:\QtCe\build2\qtbase\bin\qmake C:\QtCe\qt-everywhere-opensource-src-5.3.2\qtgraphicaleffects\qtgraphicaleffects.pro -o Makefile ) && C:\QtCe\qt-everywhere-opensource-src-5.3.2\gnuwin32\bin\jom.exe -f Makefile
    cd qtmultimedia\ && ( if not exist Makefile C:\QtCe\build2\qtbase\bin\qmake C:\QtCe\qt-everywhere-opensource-src-5.3.2\qtmultimedia\qtmultimedia.pro -o Makefile ) && C:\QtCe\qt-everywhere-opensource-src-5.3.2\gnuwin32\bin\jom.exe -f Makefile
    Info: creating cache file C:\QtCe\build2\qtquickcontrols.qmake.cache
    Info: creating cache file C:\QtCe\build2\qtwebsockets.qmake.cache
    Info: creating cache file C:\QtCe\build2\qtsensors.qmake.cache
    Info: creating cache file C:\QtCe\build2\qtenginio.qmake.cache
    "Some of the required modules (contains(QT_CONFIG, accessibility)) are not available."
    Info: creating cache file C:\QtCe\build2\qtmultimedia.qmake.cache
    "Skipped." @

    So applications that uses QuickControls do not work.
    But also applications that uses only QML (Qt examples - tutorials) do not work. Either no window opens or a window opens with no content. In both cases no error message.

    For testing purposes I copied all libs, platforms, plugins to my device. I checked my application with Dependency Walker and saw that libglesv2.dll and ws2.dll are missing. But OpenGL applications with widgets run without problems. Maybe the missing ws2.dll is a problem?

    Have anybody an idea why QuickControls are not built and why QML applications are not running?

    Thank you in advance.



  • I found the dlls in \windows folder after setting option "show hidden files" and "show protected files". But the issue still exists.


Log in to reply