#qt #d #versions
#qt #d #Версии
Вопрос:
Я разрабатываю приложение на Qt, но с использованием языка D (с привязкой QtD). Я заметил, что мое приложение вылетает с Qt 4.7.x, поэтому мне нужно использовать Qt 4.6.2 вместо этого. Однако в моей системе установлен Qt 4.7.2. К сожалению, я не заставляю QtD работать с последними версиями Qt и (боюсь) не рассчитываю на разработчиков QtD…
Единственное, что мне нужно, чтобы мое приложение установилось в системные библиотеки Qt 4.6.2 и использовало его, но пусть все остальные приложения по-прежнему используют Qt 4.7.2. Возможно ли это? Если да, то как это сделать тогда?
Комментарии:
1. Вы можете установить столько разных версий qt, сколько захотите, просто проверьте это github.com/g-konst/qt_installer
Ответ №1:
Ответ на ваш вопрос заключается в том, что версия Qt определяется qmake, который вы используете для создания вашего Makefile.
/opt/QtSDK/Qt-4.6.2/bin/qmake
/opt/QtSDK/Qt-4.7.3/bin/qmake
Каждая из них будет использовать библиотеку в каталоге.
Ответ №2:
В одну систему можно установить несколько версий библиотеки, и все менеджеры пакетов (rpm, deb) поддерживают это «из коробки».
Эти библиотеки будут просто называться по-разному. Например, если идентификатор выполняет
ls /usr/lib/ | grep libcurl
в моей системе я получу:
libcurl-gnutls.so.3
libcurl-gnutls.so.4
libcurl-gnutls.so.4.2.0
libcurl.so.3
libcurl.so.4
libcurl.so.4.2.0
итак, разные версии одной и той же библиотеки счастливо сосуществуют.
Все, что вам нужно сделать, это установить ссылку на желаемую версию библиотеки QT. Вам нужно указать это отдельно в параметрах компоновщика (не помню точную опцию).
Комментарии:
1. Я уже обнаружил еще несколько проблем, поэтому мне приходится завершить свой проект. В любом случае спасибо за вашу помощь…