Qt qmake и .pro файлы

qmake это файл qmake.exe . Расположен он сразу в нескольких директориях и это важно.

Дело в том, что в qmake.exe прошиты абсолютные пути к каталогам такими как lib, bin, mspec и т.д.

фотка 1

Мы можем добавить в режиме Manual новый профиль. Делается это чкрез добавление qmake.exe из каталога.

фотка 2

Далее у вас появятся еще 2 варианта сборки, которые относятся к qmake.exe из каталога D:\QtSDK1.2.1\QtSources\4.8.1\...

фотка 3

Примечание: возможно, что после этих манипуляций , придется выйти из Qt Creator, удалить файл ***.pro.user в каталоге проекта и пересоздать заново варианты debug/release для разных QT версий.

Что такое qmake? К сожалению понять , что такое qmake и зачем он нужен можно по логике только поняв , что такое makefile и make .

А последнее возможно только после после получения сокраментального удовольствия программирования из командной строки, с ручным вызовом компилятора (GCC или cl.exe), компоновщика ,...

makefile и make.exe служат одной великой цели: для больших проектов важно не компилировать заново каждый раз все проекты, делать это при наличии только изменений в этих проектах.

makefile можно встретить везде. Это файл описания сборки проектов из исходников.

Это GNU tools , открытый и бесплатный.

Во всех практически средах разработки от контроллеров до сборки драйверов для ОС Windows и самой Windows используется технология makefile, потому что это часть свободного ПО GNU, создатели которого делают компиляторы для разных архитектур процессоров, а также компоновщики, то есть полный набор инструментов для разработчиков всего мира.

Так вот что такое qmake? Это программа от разработчиков фреймворка Qt, предназначенная для создания makefile-ов для каждого из проектов в Qt по информации из файлов .pro. Файл . pro это придумка Qt разработчиков, это идея не GNU.

GNU на бытовом языке это когда ты можешь купить среду разработки под какой-то из контроллеров или процессоров за 10000$ , а можешь включить мозги и сделать тоже самое и даже лучше бесплатно на GNU плюс бесплатный эклипс например.

Небольшая шпаргалка по pro файлу. Основные моменты.

QT+= подключает нужные модули network, core, gui, ...

По сути это подключение библиотек QtNetwork(4)(d).lib/dll, QtCore(4)(d).lib/dll к своему проекту, плюс указание папки хедеров к этим библиотекам.

CONFIG+= это поинтереснее, тут набираются переменные для создания условий сборки. Конфигурирование среды.