如何在较新的 Qt 和 QtCreator 中安装和调试较旧的 Qt 版本?
How to install and debug older Qt versions in newer Qt and QtCreator?
当我从 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。我在互联网上搜索了重新生成这些文件的方法,但找不到任何东西。
在花了很多时间寻找解决方法后,解决问题的方法是:
- 将当前的 Qt 安装文件夹(里面有 Qt 5.12)重命名为其他名称(例如从 ~/Qt 到 ~/Qt_);
- 将 5.6 版本(我从 here 获得)安装到安装 5.12 的相同目录(在我的例子中是 ~/Qt)。在安装过程中,我注意到 Qt 安装程序 运行 脚本生成带有硬编码路径的二进制版本,这次是正确的;
- 将 Qt 5.6 SDK 复制到 Qt 5.12 安装位置(例如,将 ~/Qt/5.6.3 复制到 ~/Qt_/)。两个 qt 版本现在都应该在这个文件夹中;
- 删除之前的Qt文件夹;
- 将其重命名回原来的名称(例如,从 ~/Qt_ 到 ~/Qt)。
完成后,只需打开 QtCreator,添加新的 Qt SDK(例如 5.6)并用它创建一个新的工具包。
大功告成。玩得开心!
当我从 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。我在互联网上搜索了重新生成这些文件的方法,但找不到任何东西。
在花了很多时间寻找解决方法后,解决问题的方法是:
- 将当前的 Qt 安装文件夹(里面有 Qt 5.12)重命名为其他名称(例如从 ~/Qt 到 ~/Qt_);
- 将 5.6 版本(我从 here 获得)安装到安装 5.12 的相同目录(在我的例子中是 ~/Qt)。在安装过程中,我注意到 Qt 安装程序 运行 脚本生成带有硬编码路径的二进制版本,这次是正确的;
- 将 Qt 5.6 SDK 复制到 Qt 5.12 安装位置(例如,将 ~/Qt/5.6.3 复制到 ~/Qt_/)。两个 qt 版本现在都应该在这个文件夹中;
- 删除之前的Qt文件夹;
- 将其重命名回原来的名称(例如,从 ~/Qt_ 到 ~/Qt)。
完成后,只需打开 QtCreator,添加新的 Qt SDK(例如 5.6)并用它创建一个新的工具包。
大功告成。玩得开心!