qmake e QT_INSTALL_PREFIX. Como posso selecionar um novo local para a biblioteca Qt?
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?
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).