/ / qmake não adiciona widgets - c ++, qt, qt5, qmake, qtwidgets

qmake não adiciona widgets - c ++, qt, qt5, qmake, qtwidgets

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 № 1

como 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