【问题标题】:How can I compile QT 4 dlls with msvc 2019?如何使用 msvc 2019 编译 QT 4 dll?
【发布时间】:2020-12-23 13:44:20
【问题描述】:

我有一个使用 QT 4.6.2 的旧项目,该项目在 VS 2008 上运行。我能够使用 msvc 2019 工具链在 VS 2019 中编译它,但它在运行时崩溃。我看到问题的发生是因为当我使用 QString::toStdString() 函数时,它涉及使用 msvc90.dll (VS2008) 的 QTCore4.dll,但是在销毁 std::string 时,应用程序使用 msvc2019。这种不匹配会导致应用崩溃。

我想通过使用 msvc 2019 重新编译 QTCore4.dll 来修复它,但不知道该怎么做。我通过安装 QT 获得了 dll,没有说明如何重新编译它。

它甚至可能还是封闭源? 我认为升级到 QT 5 也是一种选择,但我现在想继续使用 QT 4。

【问题讨论】:

标签: qt


【解决方案1】:

Qt 5 在很大程度上与 Qt 4 源代码兼容。我首先强烈建议您尝试针对 Qt 5 编译您的项目(并修复任何小问题)。 如果你需要 Qt Declarative 模块,你可以根据 Qt 5 编译它。


话虽如此,Qt 是在开源 LGPL 许可下发布的。

您可以从 github 获取 Qt 4 源代码:https://github.com/qt/qt

构建 Qt 4 需要安装 perl 并运行 configure,然后是 nmake(用于 Visual Studio)。您将为 Visual Studio 2019 提供 need to set up some new things,并可能修复 2019 版编译器发现的代码不兼容性。

【讨论】:

    猜你喜欢
    • 2020-06-30
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    • 2014-12-17
    • 2011-05-15
    • 2018-05-26
    相关资源
    最近更新 更多