Qt 5.4 Windows Phone Deployment



  • I've deployed my Qt app on Android, iOS, Linux and Windows, and I'm now trying to create binaries for Windows Phone, but I need a little help.

    • I've downloaded Qt 5.4 and Visual Studio 2013 with all the extras (Windows Phone SDK, etc.).
    • I create the vcxproject file by running: F:\Qt\5.4\winphone_x86\bin\qmake -spec win32-msvc2013 -tp vc CONFIG+=windeployqt
    • I open this in Visual Studio 2013, select release (win32) and build which gives me one error: LINK : fatal error LNK1181: cannot open input file 'WindowsPhoneCore.lib'

    WindowsPhoneCore.lib is contained in api-ms-win-core-com-l1-1-0.dll (combaseapi.h) which exists in C:\Windows\System32 (and few other places) and WindowsPhoneCore.lib is also listed in Project Properties -> Linker -> Input -> Additional Dependencies.

    I cannot figure out why the linker cannot open input file 'WindowsPhoneCore.lib. Do I need to add something to my Qt .pro file or is there another step I'm missing?



  • Hello Tarostar,

    did you installed the Windows Phone SDK 8.1?
    The 8.0 version will not work...



  • Yes, 8.1 SDK.

    "Reading":http://doc.qt.io/qt-5/winrt-support.html about WinRT in Qt5.4 I need Visual Sudio 2012 instead of 2013 to deploy to Windows Phone 8:

    Device Target: Environment
    Windows 8.1: Visual Studio 2013 for Windows
    Windows RT: Visual Studio 2013 for Windows
    Windows Phone 8: Visual Studio 2012 for Windows Phone

    Is this correct, and is this because for Windows Phone 8.1 I would simply compile to Windows RT (i.e. Windows Phone 8 with VS2012 is just for older devices that have not been upgraded)?



  • I'm trying to build on Win8.1 64 bit, using Qt Creator (with MSVC2013).

    I've tried two different kits:
    "Qt for Windows Runtime 64bit"
    "Windows Phone arm MSVC2013"

    qmake runs fine as far as I can tell:

    qmake: qmake.exe MyProject.pro -r -spec winphone-arm-msvc2013
    @19:06:01: The process "F:\Qt\5.4\winphone_arm\bin\qmake.exe" exited normally.@

    qmake: qmake.exe MyProject.pro -r -spec winrt-x64-msvc2013
    @19:37:43: The process "F:\Qt\5.4\winrt_x64\bin\qmake.exe" exited normally.@

    Building does not, and has the same result for either kit. I've only included the error bit at the end as the whole thing is rather long. Any help appreciated as I'm pretty stuck and the amount of research for Windows Phone deployment is a bit overwhelming.

    Make: jom.exe in G:\MyProject\build-MyProject-Qt_Qt_Version_for_Windows_Phone_arm_MSVC2013_32

    @jom: G:\MyProject\build-MyProject-Qt_Qt_Version_for_Windows_Phone_arm_MSVC2013_32bit-Release\Makefile.Release [release\qrc_resources.obj] Error 2
    jom: G:\MyProject\build-MyProject-Qt_Qt_Version_for_Windows_Phone_arm_MSVC2013_32bit-Release\Makefile.Release [release\moc_qtquick2applicationviewer.obj] Error 2
    jom: G:\MyProject\build-MyProject-Qt_Qt_Version_for_Windows_Phone_arm_MSVC2013_32bit-Release\Makefile [release] Error 2
    19:06:21: The process "F:\Qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
    Error while building/deploying project MyProject (kit: Qt %{Qt:Version} for Windows Phone arm MSVC2013 32bit)
    When executing step "Make"@

    Make: jom.exe in G:\MyProject\build-MyProject-Qt_Qt_Version_for_Windows_Runtime_64bit-Release

    Identical errors to above ending in:

    @Error while building/deploying project QMLGalaxyPortal (kit: Qt %{Qt:Version} for Windows Runtime 64bit)@
    Thanks.



  • So, it looks like the Doc isn't correct: Qt5.4 supports Windows Phone 8.1, support for WP8.0 has been dropped.
    You don't need Visual Studio 2012, 2013 is fine!

    With which version do you open the VC++ Project? Express for Desktop? Express for Phone? Professinal/Ultimate?
    I always compile it with 2013 Ultimate for every platform, everything works fine.

    Additionally, you always have to compile it for Windows 8.1-x86, Windows 8.1-ARM (Windows RT) and Windows Phone 8.1 individually.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.