在Qt应用程序之间共享Qt库

时间:2016-03-23 08:31:44

标签: qt dll assemblies

我们公司现在使用Qt5.6发布2个Qt应用程序,但在一段时间内会有更多(使用更新的Qt版本)。所以问题是,如何使它们与不同的Qt版本一起工作?我们之前无法重建所有Qt应用程序,特别是如果有足够的Qt应用程序。我不认为为每个应用程序放置所有必需的Qt库是个好主意,因为存储库大小会快速增长。而且我认为在同一个地方拥有相同版本的许多Qt dll并不明智。只要我知道,.NET用程序集安装程序解决了不同版本的问题,但我不认为它可以帮助我使用Qt。所以我对如何解决它的任何想法都将非常感激。感谢

UPD:系统是Windows

1 个答案:

答案 0 :(得分:0)

实际上答案非常简单,只要它们是二进制兼容的,您就可以发送一个Qt版本(二进制文件)。随着每个版本Qt宣布二进制兼容性或不兼容性,所以如果由于某种原因你需要切换到更新的版本并发布新的不兼容版本的应用程序,你可能想要发布一个新的Qt DLL链..这可以得到不同的(取决于你安装的布局方式),例如你可以有一个基于Qt版本的子目录的公共lib目录,你将扩展它。 (当然你需要适当的PATHS集然后运行不同的应用程序):

应用\ 应用程序\ app01 应用程序\ app02 ... LIB \ LIB \ Qt5.6.1 LIB \ Qt5.7.0

等,然后您将(例如)将您的exe文件包装为.bat,如:

的run.bat

SET PATH = .... \ lib \ Qt5.6.1 \ app01.exe

等。

这完全取决于您的安装布局和目标