Aplicação(Qt+QML) não funciona em outros pc. Qual a solução?
-
Criei uma aplicação Qt+Qml, mas esta não funciona em outro pcs. Coloquei todas as dlls necessárias para execução, e nada.
O mais estranho e que ele nao gera erros, nao gera log e nunca esta em execucao.Uma vez instalei o ambiente de desenvolvimento qt em uma máquina e aplicações com qml não funcionavam. Mas ao menos mostrava uma tela em branco --qual seria a solução para esta tambem?
Agradeço por resposta.
Obrigado. -
Ola.. pode escreber aqui uma olhada de arquivo.pro de qmake?
I que ta a falar o programma
http://www.dependencywalker.com/ de issa exe? os pasta i fichero che quere a aplicacao..desculpa o meu portugues simple de rua suiza...
a te a proxima... -
Primeiro, que compilador vc usou, MinGW ou MSVC, se for o MSVC qual versão você usou?
Se for a 2012 então embora rode em Vista/7/8/8.1 não irá rodar em XP, a não ser que faça umas gambiarras e recompile o source do Qt.Pode ser erro de opengl caso esteja usando, se estiver usando QML 2 e o computador não suportar opengl 2.1 ES.
Mas provavelmente é algum DLL faltando, usando o Qt 5.2 e o programa utilizando QML 2 e SQL. Geralmente eu copio as seguintes pastas para junto do meu .exe:
..\Qt5.2.0\5.2.0\msvc2012\plugins\platforms -> ..\MeuPrograma\platforms
..\Qt5.2.0\5.2.0\msvc2012\plugins\sqldrivers -> ..\MeuPrograma\sqldrivers
..\Qt\Qt5.2.0\5.2.0\msvc2012\qml\Qt -> ..\MeuPrograma\Qt
..\Qt\Qt5.2.0\5.2.0\msvc2012\qml\QtQml -> ..\MeuPrograma\QtQml
..\Qt\Qt5.2.0\5.2.0\msvc2012\qml\QtQuick -> ..\MeuPrograma\QtQuick
..\Qt\Qt5.2.0\5.2.0\msvc2012\qml\QtQuick.2 -> ..\MeuPrograma\QtQuick.2E apago todas DLLs de debug (*d.DLL) mas pode ter DLL que realmente termina com d.DLL, tome cuidado e veja uma a uma.
E apago todos arquivos *.pdb também.Se usar mais algum componente do QML que vc ache na pasta ..\Qt\Qt5.2.0\5.2.0\msvc2012\qml, copie também.
Se usar mais algum plugin que vc ache na pasta ..\Qt5.2.0\5.2.0\msvc2012\plugins, copie também.Aqui está a lista de DLLs que coloco junto do meu programa pois uso:
Qt5XmlPatterns.dll
d3dcompiler_46.dll
icudt51.dll
icuin51.dll
icuuc51.dll
libEGL.dll
libGLESv2.dll
Qt5Core.dll
Qt5Declarative.dll
Qt5Gui.dll
Qt5Multimedia.dll
Qt5MultimediaQuick_p.dll
Qt5MultimediaWidgets.dll
Qt5Network.dll
Qt5OpenGL.dll
Qt5Qml.dll
Qt5Quick.dll
Qt5QuickParticles.dll
Qt5Script.dll
Qt5Sql.dll
Qt5Widgets.dll
Qt5WinExtras.dll
Qt5Xml.dllNa dúvida copie todas as DLLs e teste, se funcionar então é só uma questão de saber o que tirar.