我正在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.可能吗?如果是,那该怎么办呢?
你的问题的答案是Qt的版本由你用来生成Makefile的qmake决定.
/opt/QtSDK/Qt-4.6.2/bin/qmake
/opt/QtSDK/Qt-4.7.3/bin/qmake
每个人都将使用目录中的库.
可以将库的多个版本安装到一个系统中,并且所有包管理器(rpm、deb)都支持这种开箱即用的方式。
这些库只是名称不同。例如,如果 id 做
ls /usr/lib/ | grep libcurl
Run Code Online (Sandbox Code Playgroud)
在我的系统上,我会得到:
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
Run Code Online (Sandbox Code Playgroud)
,于是,同一个库的不同版本就愉快地生活在一起了。
您所需要做的就是链接所需版本的 QT 库。您需要在链接器选项中指定它(不记得确切的选项)。