Eu tenho um programa simples. meu programa é:
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
int rc ;
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
rc = app.exec();
return(rc) ;
}
Eu quero compilar e construir esse código na linha de comando. Eu instalei o qt e o mingw.
primeiro meu comando é:
qmake -project
então eu dou este comando.
qmake
então o qmake cria o arquivo .pro que é:
TEMPLATE = app
TARGET = HELLO
INCLUDEPATH += .
# Input
SOURCES += hello.cpp
Eu acho que este arquivo deve incluir "QT + = widgets", mas isso não acontece. Eu não sei porque. finalmente, eu chamo de mingw make
e dá erro.
quando eu adiciono o arquivo .pro QT + = widgets, em seguida, chamo o mingw-make, ele funciona e cria o arquivo .exe.
então a minha pergunta é que, por qmake adicionar automaticamente QT += widgets
, como posso fazer isso? Eu não quero adicionar manualmente.
Respostas:
3 para resposta № 1como posso fazer isso? Eu não quero adicionar manualmente.
Você pode fazer o seguinte:
1) Você poderia usar o QtCreator e selecionar o aplicativo baseado em widget.
2) qmake -projeto "QT + = widgets"
mas nada mais. QMake não é um analisador de projeto de código C ++.
Além disso, observe que você pode usar greaterThan(QT_MAJOR_VERSION, 4):QT+=widgets
para ser compatível com o Qt 4, se isso for importante para você, já que os widgets estavam no módulo gui do Qt 4 e core e gui são adicionados por padrão. Eles foram colocados em seu próprio módulo widgets no Qt 5.
0 para resposta № 2
se você é um usuário linux, você poderia fazer um pequeno script bash como este
#!/bin/bash
if [ "$1" == "-project" ]; then
qmake $@ "QT += widgets gui"
else
qmake $@
fi
(seguindo o ponto 2 do lpapp) e colocando-o no diretório / usr / bin .. se você quiser, você pode renomear o qmake para algo como qmake_old, renomear o script como "qmake" e então
#!/bin/bash
if [ "$1" == "-project" ]; then
qmake_old $@ "QT += widgets gui"
else
qmake_old $@
fi
então você pode normalmente chamar qmake ad ele faz automaticamente o que você quer (NB não se esqueça de chmod + x) testado no ubuntu 14.04