User:Catarino
Qt for Windows
Dicas (Grupo Qt Brasil)
Qual a diferença do Instalador Oficial entre o online/offline?
R = Obviamente o on necessita de internet durante a instalação do início ao fim. E o off necessita de um teste de conexão durante a tela de login do instalador, mas a instalação em si é offline.
Qual a diferença entre o compilador do VS2015(v140) e VS2017(v141)? E porquê tem os dois?
R = Além do v141 ser mais atualizado como, por exemplo, o uso do C++17. O que difere na prática é que o v141 lhe permite usar a API WinRT, ou seja, você pode desenvolver aplicações no Qt ao estilo UWP (x86/x64) usado no Windows 8/8.1/10 e também o clássico estilo Win32 (x64 only) {não me refiro a plataforma x86 nesse caso, mas sim a outra API do Windows NT }, porém o v140 somente no estilo WinNT (x86/x64). Se você estiver usando esta opção não esqueça de instalar o WinSDK, no caso do Windows 10 instale duplamente a versão build inicial v10.240 e a versão atual do mesmo. Pois o inicial tem o depurador “cdb.exe” quanto os mais recentes não o acrescentam e consequentemente o Qt Creator não detecta.
E o MinGW [Minimal GNU for Windows]?
R = O instalador oficial lhe permite baixar usando uma versão obsoleta e no qual não lhe impede de aprender, mas também não te ajuda em relação as libraries (*.dll, *.a). Já que a Microsoft foca qualquer desenvolvimento de aplicação no Windows seja usado o MSVC , no caso posso citar aqui o package manager (vcpkg) que baixa o código fonte e compila usando MSVC. Mas para MinGW temos como alternativa mais moderna o Msys2 , no qual você na maioria das vezes não precisa compilar nada, pois já vem compilado e ele lembra muito a distro ArchLinux usando o pacman. Então se no caso mais comum de projeto, ex.:
- Criar uma aplicação de Banco de Dados usando Mysql, Sqlite, Postgresql e Firebird.
Você pode baixar o Qt(x86/x64) usando o terminal do Msys2 e poderá também baixar de forma opcional as libraries adicionais no caso do plugin pgsql e fbsql.
Depend. opcionais : mingw-w64-(i686 ou x86_64)-libmariadbclient mingw-w64-(i686 ou x86_64)-firebird2 mingw-w64-(i686 ou x86_64)-postgresql PS: compile seu projeto no modo release para funcionar com estas dependências!!!
PS: Existem duas builds para baixar que são static e tradicionalmente dynamic. Porém se quiser fazer uma aplicação como do exemplo acima na build static , terá problemas para compilar, ou terá de fazê-lo manualmente recompilando a build com a source do plugin necessário.
Para mais informações sobre MSYS2 for Qt WinDev
Como fazer deploy no Windows?
R = Simples, quando você instala o Qt pelo instalador oficial MinGW/MSVC ele mostra junto aos ícones {QtCreator, Designer, Assistant} um console tendo como parâmetro o diretório do Qt no qual pode procurar a pasta do seu projeto usando o cmd. Já no Msys2 você terá que abrir o terminal dele usando como parâmetro o tipo plataforma que deseja utilizar (MinGW32/64), ou simplesmente acrescentar no próprio projeto desta forma, Ex.:
- Abra o arquivo.pro e coloque:
isEmpty(TARGET_EXT) { win32 { TARGET_CUSTOM_EXT = .exe } else { TARGET_CUSTOM_EXT = $${TARGET_EXT} } win32 { DEPLOY_COMMAND = windeployqt } CONFIG( debug, debug|release ) { # debug DEPLOY_TARGET = $$shell_quote($$shell_path($${OUT_PWD}/debug/$${TARGET}$${TARGET_CUSTOM_EXT})) } else { # release DEPLOY_TARGET = $$shell_quote($$shell_path($${OUT_PWD}/release/$${TARGET}$${TARGET_CUSTOM_EXT})) } # Use += ao invés do = se for usar multiplos QMAKE_POST_LINKs QMAKE_POST_LINK = $${DEPLOY_COMMAND} $${DEPLOY_TARGET}
PS: Quando se trata de library externo como libSql, entre outros. Você colocará manualmente na pasta do seu Executável(Modo: Release) e não do Projeto source. Se você for usar MSVC não esqueçam de acrescentar na pasta do Executável o vcredist(da mesma plataforma da build), então se for usar um instalador (InnoSetup, NSIS, Advanced Installer, Qt Installer Framework) terá todas as dependências necessárias inclusas.