2011-05-11 16 views
5

Estoy desarrollando una aplicación en Qt, pero usando el lenguaje D (con enlace QtD). Me di cuenta de que mi aplicación falla con Qt 4.7.x, así que necesito usar Qt 4.6.2 en su lugar. Sin embargo, en mi sistema está instalado Qt 4.7.2. Desafortunadamente, ni QtD funciona con las últimas versiones de Qt ni (me temo) cuentan con los desarrolladores de QtD ...¿Cómo instalar dos versiones de Qt y decirle a la aplicación cuál usar?

Lo único que necesito para hacer que mi aplicación se instale en el sistema Qt 4.6.2 libs y lo uso, pero deje que todas las otras aplicaciones sigan usando Qt 4.7.2. ¿Es posible? Si es así, ¿cómo hacerlo?

Respuesta

1

Es posible instalar varias versiones de la biblioteca en un solo sistema, y ​​todos los administradores de paquetes (rpm, debt) lo admiten de fábrica.

Estas bibliotecas tendrán un nombre diferente. Por ejemplo, si hacer Identificación del

ls /usr/lib/ | grep libcurl 

en mi sistema, voy a conseguir:

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 

, así, versión diferente de la misma biblioteca viven juntos y felices.

Todo lo que necesita hacer es enlazar con la versión deseada de la biblioteca QT. Debe separarlo en las opciones del enlazador (no recuerde la opción exacta).

+0

Ya descubrí algunos problemas más, así que tengo que terminar mi proyecto. Gracias por tu ayuda de todos modos... –

5

La respuesta a su pregunta es que la versión de Qt está determinada por la qmake que usa para generar su Makefile.

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

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

Cada uno de ellos utilizar la biblioteca de El directorio.

Cuestiones relacionadas