Вам, конечно, не нужно использовать QtCreator для написания программы Qt.
Вам также не нужно использовать qmake
, но вы не хотите использовать его.
Чтобы сделать что-нибудь даже отдаленно интересное в Qt, вы неизбежно получите подкласс QObject
. Все эти подклассы требуют макроса Q_OBJECT
в своем определении, который включает синтаксис сигнал / слот. Этот синтаксис не является обычным C ++ и не может быть скомпилирован с использованием g ++. Файлы, содержащие определения классов с Q_OBJECT
, должны запускаться через компилятор мета-объектов Qt , который называется moc
. Это означает, что вам нужно определить, к каким файлам нужно применить moc
, затем запустить на них moc
, а затем скомпилировать получившийся файл cpp с g++
. По этой причине Qt поставляет qmake
. Он генерирует правильные правила в Makefile для вас.
Файлы проекта Qt .pro действительно довольно просты в работе, и я настоятельно рекомендую вам их использовать.
Помните, qmake
- это инструмент командной строки, такой же как g++
. Кроме того, он может фактически создать файл проекта скелета для вас, предоставив опцию -project
, поэтому для начала вы можете просто сделать
qmake -project
qmake
make
и все готово. На практике я обнаружил, что в сгенерированном файле проекта может отсутствовать объявление каких-либо дополнительных библиотек Qt, которые я мог бы использовать, поэтому вам, возможно, придется добавить строку типа
QT += opengl
если, например, вы включили что-то вроде QGLWidget
.