Как установить две версии Qt и сообщить приложению, какую использовать?

Я разрабатываю приложение в 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. Является ли это возможным? Если да, то как это сделать тогда?


person Mitu    schedule 11.05.2011    source источник
comment
Вы можете установить сколько угодно разных версий qt, просто проверьте этот github.com/g-konst/qt_installer   -  person Konstantin    schedule 03.07.2020


Ответы (2)


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

/opt/QtSDK/Qt-4.6.2/бин/qmake

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

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

person JadziaMD    schedule 11.05.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. Вам нужно указать его в параметрах компоновщика (не помню точный вариант).

person weekens    schedule 11.05.2011
comment
Я уже обнаружил еще несколько проблем, поэтому я должен закрыть свой проект. Все равно спасибо за помощь... - person ; 11.05.2011