qmake e QT_INSTALL_PREFIX. Como posso selecionar um novo local para a biblioteca Qt?

StackOverflow https://stackoverflow.com/questions/913642

  •  06-09-2019
  •  | 
  •  

Pergunta

Eu sou novo para qmake e eu estou tentando construir uma aplicação existente. Qt foi instalado originalmente no /usr/local/lib/Qt-4.3.5 e 'qmake -query QT_INSTALL_PREFIX' retorna esse caminho.

Mudei a biblioteca Qt para outro local e as Makefiles gerados são recheados com o usr / caminho original / local.

Como posso forçar qmake para usar a nova localização Selecionei sem recompilar Qt?

Foi útil?

Solução

Esta é uma 'embutido' compilados em qmake de qconfig.cpp. A melhor maneira é para reconfigurar Qt com outro -prefix e reconstruir infelizmente. Para a maioria das outras variáveis, você pode usar um arquivo .qmake.cache. Veja

http://doc.qt.digia.com/qt /qmake-environment-reference.html

para mais informações

Outras dicas

Eu estava olhando para isso e encontrei uma maneira que obras (em qt 4.7.2) por personalizar qt com um arquivo qt.conf.

No meu caso, eu adicionei um qt4-4.7.2/bin/qt.conf (Deve ser no mesmo lugar que o executável qmake)

Com os conteúdos seguintes:

[Paths]
Prefix = c:/my_path/to/qt4-4.7.2

eo -query qmake começou a devolver os caminhos adequados!

Veja: http://doc.qt.io/qt-4.8/qt-conf.html para mais detalhes


[Update:] Desde pelo menos Qt 5.3.1 (testado com versões estáticas de 5.3.1 e 5.5 no Windows 8) você pode simplesmente fazer

[Paths]
Prefix = ..

e implantar a qualquer instalação do Qt.

Como apontado por Henrik Hartz, QT_INSTALL_PREFIX é built-in e não pode ser alterado. No entanto, se você quiser apenas para trabalho em torno de ter que reconstruir Qt temporariamente, então você pode tentar o seguinte:

Consulta qmake para ele é instalar prefixo, recriar a estrutura relatado, e usar um link simbólico ou hardlink para onde a versão mudou-Qt é. Por exemplo. no Linux

  • Obter o caminho relatado por /new/Qt/location/bin/qmake -query QT_INSTALL_PREFIX. Diga isto /Parent/Dirs/Prefix relatórios.
  • Criar qualquer diretório pai do caminho, por exemplo, mkdir -p /Parent/Dirs/
  • Symlink para o novo local, por exemplo, ln -s /new/Qt/location /Parent/Dirs/Prefix

A descrição acima pode ser também útil se você tem um monte de desenvolvedores que precisam trabalhar com a mesma versão pré-construídos do Qt, onde esta versão Qt não é necessariamente copiado para o mesmo caminho em todos os computadores dos desenvolvedores, e onde você só precisa agrupar o Qt compartilhado libs com seu aplicativo para usuários finais (ou seja, você não estará enviando cabeçalhos ou ferramentas de compilação).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top