Gerar Release do Projeto



  • Sou realmente novo em Qt, o que fiz até agora foram testes direto na IDE, alguém sabe me informar como libero uma release?

    Se eu passo o .exe gerado pelo Qt da erro e eu tenho que ficar procurando diversas .dll para colocar na mesma pasta dele, eu queria saber se tem como o próprio compilador gerar isso, copiar as dll's para pasta dele na hora de gerar release, ou algo assim..

    Como que vocês fazem isso?



  • Até onde eu sei, nao tem... Vc pode fazer um arquivo .bat e adicionar no projeto para que ele possa copiar coda vez que você compile...



  • [quote author="Rodrigocg" date="1364304860"]Até onde eu sei, nao tem... Vc pode fazer um arquivo .bat e adicionar no projeto para que ele possa copiar coda vez que você compile...[/quote]

    Como que você faz quando tem que liberar uma release ? Procura as dlls na mão mesmo?
    Aquele esquema "Publish you Project" não tem alguma relação?



  • Procuro na mao mesmo, pois para nao ter que distribuir essas dll tem que compilar estaticamente..



  • Meu problema não é distribuir, e sim ter que ficar catando, deu uns 120MB só de DLL.... fora a mão de achar elas 1 por 1...



  • as release nao sao esse tamanho todo... voce diferencia eles pelo nome... as que estao em modo debug(que são as maiores) possuem um d no final do nome ao contrario das que estao em modo release...

    Agora, se o seu problema é apenas na hora de compilar o projeto, voce adiciona o diretorio da pasta onde se encontra as dlls como variável de ambiente(especivicamente na variavel path) ou vai em projects no Qt(fica a sua esquerda abaixo do botão debug) procura "Build Environment", clica em details para espandir e adiciona os diretorios das dlls na variavel path.



  • na verdade na hora de compilar esta tudo ok, acredito eu que o próprio Qt Creator injeta na memória ja as DLL's, só na hora do release.

    Então eu gero uma release e depois só jogo as Dll's lá...

    Vou tentar fazer isso para ver o tamanho que fica.

    Brigadão Rodrigocg !



  • Agora eu nao estou te entendendo...
    Quando voce fala em release, é na hora de compilar a versão final(que vai ser distribuida).
    Os aplicativos compilados em modo release usam as dlls do Qt em modo release(as que nao possuem o "d" no final do nome).
    O exemplo que eu te dei das variaveis de ambiente no windows (a variavel path) também serve para executar os aplicativos sem precisar copiar as dlls para o diretorio do mesmo...



  • Assim, gero a versão de debug, ele roda tranquilo, eu acredito que ele joga as dll's na memória, ...
    Quando eu pego aquele executável do debug, e tento chamar ele, da erro, pois o próprio Qt ja deve ter tirado as dlls da memória depois de terminar sessão de debug.

    Quando eu gero a release, devo então só copiar para pasta as dll's que ele me pede QtCore5.dll ...
    Eu olhei a pasta e as dlls com o d no final são extremamente maiores mesmo....

    Vou ter que testar mesmo pra ver se funciona tudo...



  • No Qt Creator, tem a opçao acima do botao "run" la voce escolhe o modo de compilaçao, ou seja, se vai ser em modo "Release" ou "Debug"...



  • Sim, eu vi la, ele cria 2 pastas diferentes 1 para Release outra para debug, até a versão de release é uns 70% menor que a debug...



  • Então.... o QtCreator, no momento que ele roda a aplicação (sendo release ou debug), roda o seu programa colocando na variável de ambiente PATH o diretório das DLL's do Qt. Sendo assim, a aplicação encontra as DLL's necessárias. Mas ele faz isso somente quando vai executar o programa.

    Mas ao rodar o .EXE "por fora", dá erro por não achar as DLL's no mesmo diretório.

    Você pode checar isso clicando, na esquerda, em 'Projects', lá em cima em 'Run', Clique em "Details" do "Use Build Environment", e dê uma olhada na variável PATH.

    E o QtCreator realmente não tem uma forma de fazer deploy/publish para Windows (tipo copiar as dependências).


Log in to reply
 

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