My app is Qt Quick Controls 2 based app. Qt 5.7.1, Windows 10, Visual Studio 2015.
Desktop 32bit version works fine.
But when I switch to Qt 5.7.1 for Universal Windows Platform 32bit kit, it fails to run with the following error:
winrtrunner --device 0 --start --stop --install --wait 0 --profile appx C:/Work/Source/build-MusicPlayer-Qt_5_7_1_for_Universal_Windows_Platform_32bit-Release/bin/player.exe
qt.winrtrunner: Using the Appx profile.
qt.winrtrunner: Failed to activate application: 0x8027025b "The app didn't start."
Error while executing the WinRT Runner Tool: Process crashed
It states here that some dependency is missing. I've checked it using Dependency Walker and it seems that all the required DLLs are in the application's folder. I've also tried to copy just all the files from Qt kit installation into app's dir.
My application consists of one main executable and three .DLL files. I've launched windeployqt for the each of them. Tried both debug and release versions.
I have the same problem on Windows 10, Qt 5.8 (also 5.7), Windows Runtime 64bit VC2015.
This topic was opened on Qt website here: https://forum.qt.io/topic/73272/qt-5-7-for-winrt-and-dynamic-libraries, but it did not help in my case :(. I opened a new topic here: https://forum.qt.io/topic/75424/cannot-start-qt-quick-winrt-application
I had same issue.
You need to recompile all static / dynamic libraries that your application uses for Windows 10 SDK. The issue is that you need to use WinRT dll's which provide sandbox environment instead of "normal" Windows libraries. Windows Store applications require that.
In my case I was using zip static library (zlibstat.lib) with Quazip static library (quazip.lib), compiled in Windows 7 with Visual Studio 2012.
Instead, I used Qt zip, as Qt provides zip library inside QtCore.dll, (just use #include instead of #include "zlib.h") and recompiled Quazip as a static library for Windows 10 SDK.
Related
I have a Qt (5.6) UI application, and I convert it to Visual Studio project using
qmake -tp vc MyProject.pro CONFIG+=windeployqt
When I open the vcxproj in Visual Studio, I build successfully and can debug the app, but I don't have the option to upload the app to the Windows Store (Project->Store->Create/upload App Packages), because the Project menu doesn't contain Store submenu.
How can I upload my app to the Windows Store?
You should have at least Visual Studio 2015 installed (with Universal Windows Platform SDK) and Qt build for WinRT. Qt 5.8.0 WinRT installer can be downloaded here. To get the most for Windows 10 Universal Windows Platform you should use the latest version of the Qt.
Once you have installed Qt WinRT, you can ask qmake to generate Visual Studio project file. Qt WinRT package provides 3 separate Qt builds per each supported CPU platform: x86, x64 and armv7. I recommend to keep generated Visual Studio project files for each platform in separate directories outside of your sources directory. CONFIG+=windeployqt is not required. Command line for x86 platform:
cd %YOUR_PROJECT_ROOT%
mkdir x86-VS-build
cd x86-VS-build
%x86_qt5.8.0_bin_path%/qmake.exe -tp vc "../MyProject.pro"
Similar steps can be done for x64 and armv7 platforms, but in separate working directory to not mess the files.
After opening of generated project file in Visual Studio, you should see missed menu options to interact with Windows Store. You should be able access Store menu in pop-up by mouse click on project files tree as well as from main menu.
I have develop an application by using QT/ MinGW 32 bit.This app work on my pc Windows 8. But ı want to deploy this app to my friends whose computers has windows 7. How to deploy it.Is there a necessary programs,framework to work it like .net framework, C++ runtime etc.. I don't know.I can't find a clear solution
To deploy a Qt app on Windows, you'll need to gather files from a few different locations. Here is an example how to do it.
See http://doc.qt.io/qt-5/windows-deployment.html, section "Creating the Application Package". You just have to copy all the necessary DLLs (and other files in case of Qt Quick) to the same directory as executable file. The best way to test whether you have all the required files is to rename your Qt installation directory (C:\Qt) to something else and try to double-click your executable.
Deployment on Windows 7 is no different from Windows 8.
I am using Qt 5 with Visual Studio compiler. I have a Quick 2 application with a c++ backend.
I have bundled together my exe, a bunch of dll files, and all of the plugins from Qt, into a single folder. When I run the exe in this folder on a system with Qt installed but Qt Creator closed, it runs fine. When I run it on a system without Qt installed, it does not crash, but it just opens a small 1-inch square window that is all white, nothing else.
I am using a Qt resource file for the QML, so there are no standalone QML files that could be getting missed by the exe. Again, it runs fine on a system with Qt, so what else could I be missing? Dependency walker does not report any problems.
Here is what is in my app directory:
I've been looking at this for hours and I cannot understand what I must be missing (or why Windows deployment is so challenging with Qt).
The problem was resolved by also adding these directories:
I use Qt 5.0.1 and Qt Creator 2.6.2 in W7. I tried to run a simple app from examples which contains only a window ("Widgets tutorial - creating a window"). When I run it in Qt Creator, it works. But when I run it as a standalone app (Release), it doesn't.
I filled the folder with every dll it had asked (26 MB of dlls, while the app is 10KB!!!). Now it doesn't ask for any files, it just doesn't run at all with no explanations.
I tried to add some files as it is advised in Application deployed with QT5 libraries does not start on Windows 7
but no luck. In
HelloWorld Deployment with QtQuick 2.0 in Windows 7 and XP
there are no problems in w7.
May be this a dependency problem, These links describes it:
Qt 5.0 program runs in QtCreator but not outside
How to build QTcore4.dll without dependency to MSVCx80.dll?
platforms/qwindows.dll is a "non-required" required DLL to run Qt5 apps. Build your app in Release mode and steal the DLL from Qt Creator's folder (or find it into Qt's bin/platforms folder)
I am new to Qt. I have just installed Qt SDK version 1.2.
My platform is windows 7 64 bit
Visual Studio 2010 pro 32 bit installed ..
Now I have installed Qt SDK 1.2 (which has Qt creator)
I have created a test project and it runs fine but I can not debug it.
When I debug the program I get this error message
The preferred debugger engine for debugging binaries of type 'x86-windows-msvc2010-pe-32bit' is not available.
The debugger engine 'Gdb engine' will be used as a fallback.
Details: There is no CDB binary available for binaries in format 'x86-windows-msvc2010-pe-32bit'
It seeems to automatically have picked up my vs 2010 compiler as I can see in the project build settings but seems like it can not use the debugger for some reason..
According to this documentation, you need to download and install the Debugging tools for Windows.