我正在使用Visual Studio 2003在Windows上构建应用程序。
我的应用程序正在链接到第三方库(Qt)。 lib名为qtcore4.lib
,dll为qtcore4.dll
。
我的应用程序是另一个基于Qt的应用程序的插件,它使用相同qtcore4.dll的不同版本。
不幸的是,我不能使用相同版本的Qt作为宿主应用程序,所以我想如果我重命名我的Qt版本的lib和DLL,它会起作用,例如:
qtcore4_my.lib
qtcore4_my.dll
我猜qtcore4.lib是指里面的qtcore4.dll。所以我不确定这会起作用。
答案 0 :(得分:4)
您应该在同一个应用程序中使用同一个库的两个不同版本。
如果插件接口使用来自QT的类,那么你应该期待一些令人讨厌的问题(如崩溃)。
最简单的方法是重新编译qt并配置构建过程以生成带有其他名称的dll和lib文件。