Конфигурация Qt проекта

Приложение, написаное на Qt кросплатформенное. (За исключением хитрых библиотек сторонних разработчиков, но это в порядке исключения). Но для запуска приложения на разных платформах зачастую все таки придется правильно сконфигурировать Qt проект. (Конфигурируется проект в .pro файле).

Конфигурация Qt проекта в случае использования только компонентов Qt осуществляется с помощью модифицирования переменной QT. Например, чтобы подключить opengl,

QT += opengl
модуль QtNetwork
QT += network
модуль QtWebKit
QT += webkit
и так дальше.

Что надо дописывать всегда можна найти в официальном мануале.

В случае использования только компонентов Qt, скорее всего, проект не придется переконфигурировать при использовании на разных платформах (Windows/Linux) (в случае правильной установки Qt).

А как же быть с библиотеками сторонних разработчиков, например, qwt? В таком случае просто нужно указать размещение библиотек и их инклудов. Например, для Linux (подключение qwt6):

INCLUDEPATH += /usr/include/qwt6/
LIBS += -lqwt6
С первой строкой все понятно - просто указываем адрес, где находятся заголовки (.h - файлы). С другой немного интереснее: в этом случае адресом считается размещение библиотек в системе по умолчанию (в моем случае это /usr/lib/). Имя же библиотеки определяется следующим образом: если было libqwt6, станет -lqwt6, тоесть, вместо "lib" ставим "-l".

У Windows надо просто указать адрес, например:

INCLUDEPATH += C:/libqwt6/include
LIBS += C:/libqwt/lib/libqwt6.a
Естественно, кроме подключения библиотек, у .pro файле можно еще много чего сделать. Например, указать флаги компиляции.

Например, поддержка распараллеливания openmp:

QMAKE_LFLAGS += -fopenmp
QMAKE_CXXFLAGS += -fopenmp
Также можно включать в проект дополнительные файлы (это можно сделать с помощью Qt Creator, кроме того, он сам добавляет все созданы в нем вами файлы автоматически)

Если у вас проблемы с отладкой, например в C проекте в Qt Creator, проверьте, стоит ли

CONFIG += debug_and_release