caminho do plugin do Qt e WOW64

1

Estamos tentando configurar um sistema de desenvolvimento / execução do Qt para nossos usuários no trabalho. Isso deve permitir que eles criem e / ou executem um aplicativo Qt de 32 bits ou 64 bits a seu critério (na mesma máquina).

O problema é que, se não fizermos nada, o usuário recebe o temido "Este aplicativo falhou ao iniciar porque não foi possível localizar ou carregar o diálogo" janelas "do plug-in da plataforma Qt. Mesmo os executáveis pré-construídos como o designer você esta.

As únicas maneiras que encontramos para consertar isso são adicionar um arquivo qt.conf apontando para o diretório de plugins correto para a bittage daquele executável, ou copiar a hierarquia de diretórios "plugins" correta sob o diretório do executável. Podemos fazer isso com regras personalizadas de criação do Visual Studio, mas é uma PITA importante. Parece que deveria haver uma maneira de fazer isso globalmente.

Eu tentei definir a variável de ambiente QT_PLUGIN_PATH como% ProgramFiles% \ Qt \ Plugins, mas ela só funciona para os arquivos EXE de 64 bits. Por algum motivo, até mesmo os arquivos EXE de 32 bits obtêm o% ProgramFiles% expandido para "C: \ Program Files \". Por mais que eu saiba, o Qt não verifica nada em HKEY_LOCAL_MACHINE \ SOFTWARE, então não posso redirecionar dessa maneira.

Parece que deveria haver uma maneira de fazer isso. Existe?

    
por T.E.D. 11.04.2014 / 00:49

1 resposta

0

A solução que eu finalmente encontrei foi usando o redirecionamento de arquivos do Windows% de %windir%\system32 , que não está sob nenhum controle do executável. Isso envolve:

  • definindo QT_PLUGIN_PATH como %windir%\system32\Qt-plugins
  • copiando a versão de 64 bits do diretório plugins \ platform do Qt para% windir% \ system32 \ Qt-plugins \
  • copiando a versão de 32 bits do diretório plugins \ platform do Qt para% windir% \ sysWOW64 \ Qt-plugins \

Obviamente, um instalador de aplicativos também teria que executar estas etapas.

    
por 11.04.2014 / 17:43