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 = armv7DEFINES += 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_CFLAGSQMAKE_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.libQMAKE_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.