0

我的主要应用程序是由 Qt V1(例如 4.7.4)编译的。(需要 QtCore 4.7.4) 主应用程序使用的共享库由 Qt V2(ex.4.8.2)编译。(需要 QtCore 4.8.2)我无法重新编译库,也不想重新编译主应用程序。是否可以使用多个版本的 QtCore、QtGui 等来部署我的应用程序?

4

1 回答 1

2

是否可以使用多个版本的 QtCore、QtGui 等来部署我的应用程序?

简短的回答:没有。

长答案:如果您提前计划好,您可以通过dlopenand间接使用“使用 Qt V2 的共享库”(我们称之为 int libFoo.so) dlsym。如果你这样做了,你可以dlopen("libFoo.so", RTLD_LOCAL),然后“Qt V2”中的符号对主可执行文件不可见。这是一个非常不稳定的基础,但理论上它应该有效。

于 2012-12-23T00:53:32.900 回答