Как установить две версии Qt и указать приложению, какое использовать? - PullRequest
5 голосов
/ 11 мая 2011

Я разрабатываю приложение на Qt, но использую язык D (с привязкой QtD). Я заметил, что мое приложение зависает с Qt 4.7.x, поэтому мне нужно использовать Qt 4.6.2. Однако в моей системе установлен Qt 4.7.2. К сожалению, я не заставляю QtD работать с последними версиями Qt и, боюсь, не рассчитываю на разработчиков QtD ...

Единственное, что мне нужно, чтобы мое приложение установилось в систему Qt 4.6.2 libs и использовало его, но пусть все остальные приложения все еще используют Qt 4.7.2. Является ли это возможным? Если да, то как это сделать?

Ответы [ 2 ]

5 голосов
/ 11 мая 2011

Ответ на ваш вопрос - версия Qt определяется qmake, который вы используете для генерации вашего Makefile.

/ opt / QtSDK / Qt-4.6.2 / bin / qmake

/ opt / QtSDK / Qt-4.7.3 / bin / qmake

Каждый будет использовать библиотеку в каталоге.

1 голос
/ 11 мая 2011

Возможно установить несколько версий библиотеки в одну систему, и все менеджеры пакетов (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. Вы должны разделить его в параметрах компоновщика (не помню точного параметра).

...