【问题标题】:How to install and debug older Qt versions in newer Qt and QtCreator?如何在较新的 Qt 和 QtCreator 中安装和调试较旧的 Qt 版本?
【发布时间】:2020-10-08 19:33:10
【问题描述】:

当我从 Qt 5.6 更新到 5.12 时,我不得不将我正在工作的项目之一恢复到 Qt 5.6,结果发现两个 Qt 安装相互混淆。不幸的是,Qt 5.12 安装程序不再提供安装 5.6 的选项。

所以我决定将 Qt 5.6 SDK 移动到带有 5.12 安装的 Qt 文件夹内。设置 QtCreator 以使用这两个版本后,一切正常,除了我无法再调试 5.6 版本。链接时它在 Qt 5.6 lib 文件夹的路径中给了我一个错误(它指向旧目录),在调试日志中给了我另一个错误:

This application failed to start because it could not find or load the Qt platform plugin "cocoa" in ""

在使用旧路径搜索 qt 安装文件夹中的所有文件后,我用新路径替换了所有出现的文件,但问题仍然存在。就在我意识到之前的路径也被硬编码在一些 qt 使用的二进制文件中,比如 QtCore_debug。我在互联网上搜索了重新生成这些文件的方法,但找不到任何东西。

【问题讨论】:

    标签: c++ qt qt5 qmake


    【解决方案1】:

    在花费数小时试图找到解决方法后,解决问题的方法是:

    1. 将当前的 Qt 安装文件夹(内部包含 Qt 5.12)重命名为其他名称(例如,从 ~/Qt 到 ~/Qt_);
    2. 将 5.6 版本(我从 here 获得)安装到安装 5.12 的同一目录(在我的情况下为 ~/Qt)。在安装过程中,我注意到 Qt 安装程序运行脚本以生成带有硬编码路径的二进制版本的那一刻,这一次现在是正确的;
    3. 将 Qt 5.6 SDK 复制到 Qt 5.12 安装位置(例如,将 ~/Qt/5.6.3 复制到 ~/Qt_/)。两个 qt 版本现在都应该在这个文件夹中;
    4. 删除之前的Qt文件夹;
    5. 将其重命名为原始名称(例如,从 ~/Qt_ 到 ~/Qt)。

    完成后,只需打开 QtCreator,添加新的 Qt SDK(例如 5.6)并使用它创建一个新工具包。

    你已经完成了。玩得开心!

    【讨论】:

    • 哇。在 Qt 6.2.2 中仍然如此。 Qt 关于添加工具包/版本的文档令人沮丧地省略了安装步骤,这远非显而易见。 qt-unified-macOS-x64-4.2.0-online 安装程序很难,但请检查“存档”以查找旧版本。然后,如前所述,只需将(另外 5GB)安装到新目录并添加 SDK + Kit。除了整理之外,复制 SDK 文件夹没有用处。只需在旧版本中将 Qt Creator 指向 qmake
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2019-03-20
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2018-12-18
    相关资源
    最近更新 更多