如何安装两个版本的 Qt 并告诉应用程序使用哪个?
我正在 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。是否可以?如果是的话,那该怎么办呢?
I am developing an application in Qt, but using D language (with QtD binding). I've noticed that my app crashes with Qt 4.7.x, so I need to use Qt 4.6.2 instead. However in my system Qt 4.7.2 is installed. Unfortunately I neither make QtD work with the latest Qt versions nor (I'm afraid) count on QtD developers...
The only thing I need to make my application install in system Qt 4.6.2 libs and use it, but let all the other applications still use Qt 4.7.2. Is it possible? If it is, how to do it then?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您问题的答案是 Qt 的版本由您用来生成 Makefile 的 qmake 决定。
都会用到该目录下的库。
The answer to your question is the version of Qt is determined by the qmake you use to generate your Makefile.
Each will use the library in the directory.
可以将库的多个版本安装到一个系统中,并且所有包管理器(rpm、deb)都支持这种开箱即用的方式。
这些库只是名称不同。例如,如果 id
在我的系统上执行,我会得到:
,因此,同一库的不同版本可以愉快地共存。
您所需要做的就是链接所需版本的 QT 库。您需要在链接器选项中指定它(不记得确切的选项)。
It is possible to install several versions of the library into one system, and all package managers (rpm, deb) support this out of the box.
These libraries will be just differently named. For example, if id do
on my system, I'll get:
, so, different version of the same library happily live together.
All you need to do is to link against the desired version of QT library. You need to sepcify it in linker options (don't remember the exact option).