Como automatizar o QT MOC?
Pergunta
Eu tenho que executar os seguintes comandos a partir do prompt de comando QT: qmake -project
então make
E isso me dá a pasta Debug com o arquivo MOC.
Esta é estranhamente a única maneira de o meu PC gerar o moc_.cpp
Arquivo.
Então, como posso automatizar a tarefa desses comandos para não precisar usar esses comandos novamente?
Solução
Você não deve correr qmake -project
várias vezes. o -project
A opção deve fornecer um arquivo de projeto de modelo para você editar. Um equivalente ao que você está fazendo em um IDE seria criar um "novo projeto" toda vez que você deseja construir. Depois de ter o projeto inicial, você deve editá -lo manualmente, adicionar arquivos quando tiver novos arquivos, etc. Se algumas alterações no arquivo do cabeçalho, o Makefile gerado o notará e ligará para o MOC para atualizar o arquivo MOC _*. CPP automaticamente. Então:
- Corre
qmake -project
Quando você começa a trabalhar em um projeto. - Corre
qmake
Quando você deseja gerar makefiles. - Corre
make
Quando você deseja construir o projeto.
Outras dicas
Eu acho que você tem duas opções.
Ligue para QMake de um processo de criação de pais e faça uma compilação multinível. ("Make Recursive".)
Execute diretamente o compilador de meta-objeto das regras em seu makefile
Se o segundo, esta página em usando o meta-objeto O compilador pode ajudar.