【问题标题】:Renaming DLLs on Windows在 Windows 上重命名 DLL
【发布时间】:2009-06-19 11:50:28
【问题描述】:

我正在使用 Visual Studio 2003 在 Windows 上构建应用程序。

我的应用程序正在链接到第 3 方库 (Qt)。该库称为qtcore4.lib,而dll 称为qtcore4.dll

我的应用程序是另一个基于 Qt 的应用程序的插件,它使用相同 qtcore4.dll 的不同版本。

不幸的是,我不能使用与主机应用程序相同版本的 Qt,所以我想如果我重命名我的 Qt 版本的 lib 和 DLL 是否可以工作,例如:

qtcore4_my.lib
qtcore4_my.dll

我猜qtcore4.lib是指里面的qtcore4.dll。所以我不确定这是否可行。

【问题讨论】:

    标签: windows qt dll qt4


    【解决方案1】:

    您应该注意在同一个应用程序中使用同一个库的两个不同版本。

    如果插件接口使用来自 QT 的类,那么您应该预料到潜在的讨厌问题(如崩溃)。

    最简单的方法是重新编译qt并配置构建过程以生成其他名称的dll和lib文件。

    【讨论】:

    • 我删除了我的答案 - 这个更好 - 重新:重建 qt。尽管存在潜在问题,但它仍然是一个巨大的雷区......
    • 我同意你的看法 :)。还有一项漫长的任务。
    • 我正在尝试这个。让我们看看运行时会发生什么:(
    • 用不同的 dll 名称重建 qt,似乎工作正常。
    • 对,但是一旦您将插件加载到应用程序中,我预计会出现可怕的符号冲突和其他可能导致灾难性崩溃的问题。
    猜你喜欢
    • 2022-01-14
    • 2012-02-22
    • 1970-01-01
    • 2020-06-10
    • 2019-01-25
    • 2015-10-17
    • 2013-04-14
    • 1970-01-01
    • 2021-11-13
    相关资源
    最近更新 更多