5

我正在使用 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。可能吗?如果是,那该怎么做呢?

4

2 回答 2

5

您的问题的答案是 Qt 的版本由您用来生成 Makefile 的 qmake 决定。

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

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

每个都将使用目录中的库。

于 2011-05-11T13:37:10.580 回答
1

可以将库的多个版本安装到一个系统中,并且所有包管理器(rpm、deb)都支持这一点。

这些库的名称将有所不同。例如,如果 id 做

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 库。您需要在链接器选项中对其进行分隔(不记得确切的选项)。

于 2011-05-11T10:38:36.893 回答