воскресенье, 27 октября 2019 г.

Портирование проекта c qt4 на qt5

В pro-файл легче всего добавить условную операцию, вводящую разные настройки в зависимости от версии Qt. Это можно сделать в pro-файле при помощи следующих операторов (test functions): equals , greaterThanlessThan. Дополнительно, устанавливаем препроцессорную переменную окружения, которую в исходном коде можно будет обрабатывать при помощи #ifdef HAVE_QT5  и #if defined(HAVE_QT5) (отсюда).Мне кажется, легче всего так:

equals(QT_MAJOR_VERSION, 5){
  DEFINES+=HAVE_QT5
  QT += widgets
}
equals(QT_MAJOR_VERSION, 4) {
  QT += gui
}


Источники:
1) https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5
2) https://doc.qt.io/qt-5/embedded-linux.html
3) https://www.linux.org.ru/forum/development/9500040
4) https://doc.qt.io/qt-5/qtquick-porting-qt5.html
5) https://habr.com/ru/post/164721/
6) http://jeniapalto.blogspot.com/2015/06/qt-4x-qt5.html
7) https://doc.qt.io/qt-5/qscriptengine.html
8) https://doc.qt.io/qt-5/qqmlengine.html
9) http://stackoverflow.com/questions/18663331/how-to-check-the-selected-version-of-qt-in-a-pro-file
10) http://doc.qt.io/qt-5/qmake-test-function-reference.html


Комментариев нет:

Отправить комментарий