重命名Windows上的DLL
我正在使用Visual Studio 2003在Windows上构建应用程序 我的应用程序正在链接到第三方lib Qt。该库称为qtcore4.lib和dll qtcore4.dll 我的应用程序是另一个基于Qt的应用程序的插件,该应用程序使用同一qtcore4.dll的不同版本 不幸的是,我不能使用与主机应用程序相同版本的Qt,因此我想如果我重命名Qt版本的lib和DLL,它是否可以工作,例如:重命名Windows上的DLL,windows,qt,dll,qt4,Windows,Qt,Dll,Qt4,我正在使用Visual Studio 2003在Windows上构建应用程序 我的应用程序正在链接到第三方lib Qt。该库称为qtcore4.lib和dll qtcore4.dll 我的应用程序是另一个基于Qt的应用程序的插件,该应用程序使用同一qtcore4.dll的不同版本 不幸的是,我不能使用与主机应用程序相同版本的Qt,因此我想如果我重命名Qt版本的lib和DLL,它是否可以工作,例如: qtcore4_my.lib qtcore4_my.dll 我猜qtcore4.lib是指内部的
qtcore4_my.lib
qtcore4_my.dll
我猜qtcore4.lib是指内部的qtcore4.dll。因此,我不确定这是否可行。您应该注意在同一应用程序中使用同一库的两个不同版本 如果插件接口使用QT中的类,那么您应该会遇到诸如崩溃之类的严重问题
最简单的方法是重新编译qt并配置构建过程,以生成具有其他名称的dll和lib文件。您应该注意在同一应用程序中使用同一库的两个不同版本 如果插件接口使用QT中的类,那么您应该会遇到诸如崩溃之类的严重问题
最简单的方法是重新编译qt并配置构建过程,以生成具有其他名称的dll和lib文件。我删除了我的答案-这一个更好-关于:重建qt。这仍然是一个巨大的雷区,尽管存在潜在的问题……我同意你的看法:。这也是一项漫长的任务。我正在尝试这项任务。让我们看看在运行时会发生什么:使用不同的dll名称重建qt,似乎工作正常。是的,但一旦你将插件加载到应用程序中,我会预期可怕的符号冲突和其他可能导致灾难性崩溃的问题。我删除了我的答案-这一个更好-re:重建qt。这仍然是一个巨大的雷区,尽管存在潜在的问题……我同意你的看法:。这也是一项漫长的任务。我正在尝试这项任务。让我们看看在运行时会发生什么:用不同的dll名称重建qt,似乎工作得很好。是的,但一旦你将插件加载到应用程序中,我会预期可怕的符号冲突和其他可能导致灾难性崩溃的问题。