【发布时间】: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-4.8.7 源代码; https://download.qt.io/archive/qt/4.8/4.8.7/ 在 .zip 或 .tar.gz 中安装 Active State Perl 和 Python,然后再从 Visual Studio 2019 命令提示符进行配置。
标签: qt