Qmake: создание проектов на C++ быстро и просто

QMake - это система сборки приложений, основанная на языке Makefile, которая входит в дистрибутив Qt Framework. QMake позволяет просто и быстро создавать и поддерживать проекты на Qt Framework как в Qt Creator, так и из командной строки.

Пример использования QMake в командной строке:

Допустим, у нас есть следующая структура проекта:

myproject/

|- main.cpp

|- foo.cpp

|- foo.h

|- bar.cpp

|- bar.h

|- myproject.pro

Тогда myproject.pro будет выглядеть так:

QT += core

QT -= gui

CONFIG += c++11 console

CONFIG -= app_bundle

SOURCES += \

main.cpp \

foo.cpp \

bar.cpp

HEADERS += \

foo.h \

bar.h

Этот пример конфигурации QMake содержит минимальный набор параметров для сборки проекта на Qt Framework.

Параметр "QT" указывает на необходимость использования модулей Qt Framework. В нашем случае мы используем только модуль "core", и отключаем модуль "gui", потому что приложение является консольным.

Параметр "CONFIG" определяет тип конфигурации сборки. Мы выбрали "c++11" - для использования стандарта C++11, и "console" - для сборки консольного приложения.

Параметр SOURCES - указывает на исходные файлы проекта, которые нужно компилировать. В нашем случае это main.cpp, foo.cpp, bar.cpp.

Параметр HEADERS - указывает на заголовочные файлы проекта, которые используются в исходных файлах.

Для генерации Makefile из конфигурационного файла QMake необходимо запустить в командной строке следующую команду:

qmake myproject.pro

В результате выполнения этой команды, в каталоге myproject/ будет создан файл Makefile.

Чтобы собрать проект, запустите в командной строке:

make

После компиляции вы можете запустить консольное приложение:

./myproject

Или же открыть проект в Qt Creator и собрать его там, используя тот же конфигурационный файл.

Похожие вопросы на: "qmake "

Что такое стек и зачем он нужен?
Func: функциональное программирование для начинающих
Вывод массива c: примеры и методы на языке программирования
Геномные технологии: кто такой геномист и какие задачи решает?
<h1>ManyToManyField в Django: примеры использования и настройка модели
Get запрос в PHP: примеры и особенности
<h1>Array Unique: Removing Duplicates from Arrays Made Easy
<h1>SQL удаление таблицы
AT C: современные решения для успешного бизнеса
Port DNS: узнайте, как проверить и открыть порт DNS