Como criar o Qt para Visual Studio 2010


137

Eu me esforcei para encontrar um tutorial que forneça uma solução estável para o uso do Qt com o Visual Studio 2010; portanto, depois de coletar todas as informações e algumas tentativas e erros, gostaria de escrever minha solução em um guia.

O problema ou por que não é possível usar binários pré-criados?

Parece que o uso de binários criados para o Visual Studio 2008 pode funcionar em alguns casos especiais, mas achei que eles não funcionavam. No meu caso, eles compilaram OK, mas produzem erros de tempo de execução, assim:

problem2

ou quando iniciado no Visual Studio 2010:

problema

Atualização : Encontrei uma postagem no blog analisando por que funciona para algumas pessoas, enquanto não para outras. Em uma palavra, depende se você possui o Visual Studio 2008 instalado na mesma máquina ou não. http://blog.paulnettleship.com/2010/11/11/trouolving-visual-studio-2010-and-qt-4-7-integration/

A coisa mais importante (que eu estupidamente não percebi) foi o fato de que NÃO PODE usar as bibliotecas e dlls compiladas do Visual Studio 2008 (disponíveis na página da Qt) se você não tiver o Visual Studio 2008 instalado. O motivo é que o Qt SDK que você baixa é uma compilação de depuração dependente do VC9.0 DebugCRT, o que significa que ele precisa do Visual C ++ 2008 Debug Runtime instalado, o que NÃO está disponível como um instalador redistribuível. A única maneira de instalar o DebugCRT é instalar a totalidade do Visual Studio 2008.


Obrigado pelo seu esforço. Além disso, pode ser útil explicar por que não se deve usar os binários do VS 2008. Eu desenvolvi alguns projetos de teste de protótipo com eles e o VS2010 sem enfrentar nenhum problema, mas me lembro de alguém mencionando que há problemas de implantação?
Ralf

Adicionei minhas experiências à última seção. Geralmente encontrei muitos relatórios na rede que informam que você deve compilar o Qt se quiser usá-lo com o VS2010. Há uma página que informa que pode ser a presença do VS2008.
precisa saber é o seguinte

Fantástico, tenho certeza de que muitas pessoas vão encontrar este :) útil
Ralf

Ei, eis o que recebo quando faço nmake. Eu usei o seguinte antes de tentar construir: configure.exe -release -no-ltcg.
Mateen Ulhaq

2
Para referência futura, você pode estar interessado em saber que o site de documentação do Qt realmente tem as instruções de instalação para compilar a partir do código-fonte .
Efatá

Respostas:


142

Antes de tudo, é muito importante entender que, para usar o Qt com o Visual Studio 2010, não é possível usar os binários pré-criados que foram criados para o Visual Studio 2008 , mas você deve compilá-lo da fonte.

Baixando Qt

Em https://www.qt.io/download/

Atualização 2017: a ramificação mais recente do Qt 4.x (Qt 4.8.6) possui 2 pacotes pré-criados, que estão agora na seção de arquivo:

  1. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2010-4.8.6.exe
  2. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe

Você não deve baixar o Qt clicando em "Qt libraries 4.8.6 para Windows (Visual Studio 2008, 218 MB)" , mas clicando no link "zip" acima dele.

seleção de link

Nesse link, você obtém um grande arquivo zip como "qt-everywhere-opensource-src-4.8.6.zip" . Descompacte isso em uma pasta e torne seu caminho algo agradável e pequeno, por exemplo "E: \ Qt"

Prompt de Comando do Visual Studio

Agora que temos as fontes, precisamos construir os binários. Para fazer isso, abra o Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)link no menu Iniciar ou até fixe-o na barra de tarefas (uma boa ideia). Este é um prompt de comando especial que possui todas as variáveis ​​definidas para criação com as ferramentas do Visual Studio 2010.

Uma vez no prompt de comando, navegue até a pasta Qt extraída usando o modo DOS antigo, o que significa que você precisa alterar a letra da unidade E:, inserir diretórios cd Qte listar o conteúdo do diretório dir. Você pode usar a tecla tab para ajudá-lo com os nomes de diretório. Quando você chegar ao diretório correto, um dircomando deve retornar algo como isto.

linha de comando

Edifício Qt

Agora é hora de configurar e construir. Para configurar um Qt minimalista, estou usando os seguintes sinalizadores com configure.exe. Basta copiar e colar na linha de comando. Procure no manual de referência do Qt qual sinalizador usar ou não.

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

Uma vez que configure.exetenha terminado (era 10 minutos para me), você vai precisar para iniciar o processo de criação. Demorará cerca de 20 a 30 minutos com as bandeiras acima. Para iniciá-lo, basta digitar:

nmake

Configurando variáveis ​​de ambiente

Basicamente, terminamos. Tudo que você precisa fazer é definir as variáveis ​​de ambiente ( QTDIRe PATH), que informam aos programas onde encontrar o Qt. Se você estiver no Windows 7, poderá usar o seguinte comando para definir QTDIRo diretório de instalação.

setx QTDIR e:\Qt

Para definir PATH, recomendo fortemente o uso do Path Editor . No Editor de Caminho

add the directory of Qt\bin to your PATH

(não importa se está no caminho do sistema ou no caminho do usuário)

Se você preferir usar Control Panel\System\Environment Variables, também poderá configurá-las lá.

Suplemento Qt Visual Studio

Aqui, depois de um logoff-logon ou uma reinicialização, todos os aplicativos de demonstração Qt devem iniciar corretamente (eu recomendo dar uma olhada em bin \ qtdemo.exe ). Agora você pode baixar e instalar o Visual Studio Add-in (qt-vs-addin-1.1.9.exe) na página de download do Qt, ele funcionará perfeitamente.

adicionar em

Apêndice A: Instruções oficiais:

Há uma página no wiki oficial no site do Qt chamada Qt 4.8 Instalando o Qt for Windows , mas achei que faltam informações importantes.

Referências

Fóruns do Qt DevNet
Sinalizadores recomendados para uma compilação minimalista do Qt
Construindo o Qt 4.5 com Visual C ++ 2010
Como compilar o Qt como estático
Qt 4.8: Configurar opções para o Qt
Edite a variável de ambiente PATH no
Windows sem problemas - op111.net


2
Isso é ótimo, mas eu adicionaria -qt-sql-sqlite aos sinalizadores de configuração se você não quiser ter problemas com o seu Qt Assistant personalizado. Parece que ele precisa deste plugin para ler os bancos de dados da documentação com sucesso.
N

Ótimo guia! Uma observação - eu estava tentando me preparar por um dia ou dois e, no processo, adicionei algumas variáveis ​​de caminho ao mingw - elas quebraram o nmake e precisavam ser removidas antes que as coisas funcionassem.
David Hall

2
Mais uma observação: as ferramentas do VS rejeitam a criação de QT se houver alguns espaços no caminho para a pasta onde as fontes de QT estão localizadas. Pelo menos no meu caso.
Roman Kruglov

10
Apenas uma pergunta: por que o Qt ainda não fornece uma distribuição pré-compilada do VS 2010?
precisa

2
Só para informar a vocês. O link na postagem original não funciona mais. Demora um pouco para pesquisar no site digia e descobrir que o complemento nem está lá. O principal link que se deve seguir é: qt-project.org/downloads
paul23 15/11/12

25

O Qt V4.8.0 contém binários pré-criados para o Visual Studio 2010, para que você não precise mais fazer isso: http://qt.nokia.com/downloads/windows-cpp-vs2010


2
parsley72, os binários pré-criados para o Visual Studio 2010 são úteis apenas se você planeja trabalhar no modo de depuração de 32 bits, caso contrário, o guia publicado pelo zsero é muito útil, especialmente se você desejar alterar as opções relacionadas à arquitetura.

Absolutamente! Mas a pergunta foi feita antes que as bibliotecas pré-construídas estivessem disponíveis, então estou informando às pessoas que agora existe uma alternativa.
usar o seguinte código

1

Um link para uma solução em potencial é sempre bem-vindo, mas adicione contexto ao link para que seus colegas usuários tenham uma idéia do que é e por que está lá. Sempre cite a parte mais relevante de um link importante, caso o site de destino esteja inacessível ou fique permanentemente offline. Leve em conta que ser pouco mais que um link para um site externo é um possível motivo para o motivo e como algumas respostas são excluídas .
Maximilian Ast
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.