Come automatizzare Qt moc?
Domanda
devo eseguire i seguenti comandi dal prompt dei comandi di Qt: qmake -project
poi make
e questo mi dà la cartella di debug con il file Moc
.
Questo è stranamente l'unico modo per il mio PC genera il file moc_.cpp
.
Così come posso automatizzare il compito di questi comandi in modo da non dover usare di nuovo questi comandi?
Soluzione
Non si dovrebbe eseguire qmake -project
più volte. L'opzione -project
ha lo scopo di fornire un file di progetto modello per la modifica. Un equivalente di ciò che si sta facendo in un IDE sarebbe la creazione di un "nuovo progetto" ogni volta che si vuole costruire. Dopo aver ottenuto il progetto iniziale, si dovrebbe modificare manualmente, aggiungere i file quando si dispone di nuovi file, ecc Se alcune modifiche al file di intestazione, il Makefile generato se ne accorgeranno e chiamare moc su di esso per aggiornare la moc _ *. Di file cpp automaticamente. Quindi:
- Esegui
qmake -project
quando si inizia a lavorare su un progetto. - Esegui
qmake
quando si desidera generare Makefile. - Esegui
make
quando si vuole costruire il progetto.
Altri suggerimenti
Credo che si hanno due scelte.
-
chiamata qmake da un genitore fare di processo e fare una build più livelli. ( "Ricorsivo make".)
-
eseguire direttamente il compilatore meta-oggetto dalla normativa nel makefile
Se il secondo, questa pagina su utilizzando il compilatore meta-oggetto può aiutare .