您如何解决:PySide2/designer:符号查找错误:...:未定义符号:_ZdlPvm,版本 Qt_5?

您如何解决:PySide2/designer:符号查找错误:...:未定义符号:_ZdlPvm,版本 Qt_5?

在 Ubuntu 22.04 上,使用 Python 3.10.4,我设置了 PyCharm 社区版 2022.01 以使用 PySide2 设计器 (Qt) 作为外部工具。当我按下“创建”按钮时,会出现此错误并且进程终止。过去 6 年零 6 个月的类似报告对我来说不起作用,并且 PySide2 需要特殊补丁才能与 Python3.10.4 一起使用。

在 PyCharm 外部工具 QtDesigner5 中,程序 venv_dir/bin/pyside2-designer,工作目录 $ProjectFileDir$。我已设置复选框执行后同步文件和打开控制台以进行工具输出。

作为附加信息。PySide2 是基于 5.15.2 Qt 维护工具源构建的,并将 pyside-setup 分支设置为 5.15。pyside2 和 shiboken2 的所有痕迹之前都已从 Ubuntu 系统中安全删除,因为它们会导致大量错误。对源进行了一项更改:https://bugzilla.redhat.com/show_bug.cgi?id=2025599(感谢 Petr Viktorin 2022-01-21 16:46:48 UTC)。清理“bdist_wheel”和“install”。这不会影响 PySide6 (6.3.0),它可以毫无问题地运行。

答案1

我观察到“designer”二进制文件上的日期是 2021 年 11 月 8 日,而且与 PySide6 不同,PySide2 似乎没有完全重建 qttools,其中包括“designer”。一旦我从 Qt 维护工具源“Qt/5.15.2/Src/qttools”在本地构建“designer”,将 Qt 构建环境设置为 5.15,使用qmake qttools.promake -j4并在“Qt/5.15.2/gcc_64/bin/designer”中本地安装,错误消息就会消失,“designer”就可以正常运行。我认为错误消息可能是由某种 C++ 编译器设置差异引起的。此外,由于某种原因,PySide2 与同名站点包中的 PySide6 不同,它不包含具有 lib、libexec、plugins、qml、resources 和 Translations 文件夹的 Qt 文件夹。可能是兼容性遗留问题,因为两个包都是从 pyside-setup 的不同分支构建的。

对于 PyCharm 外部工具 QtDesigner5 中的 PySide2 设置,程序 Qt/5.15.2/gcc_64/bin/designer,工作目录 $ProjectFileDir$。我已设置复选框执行后同步文件和打开控制台以进行工具输出。

PySide6 略有不同。在 PyCharm 外部工具 QtDesigner6 中(使用我的 Python3.10.4 venv 虚拟环境),程序 venv_dir/bin/pyside6-designer,工作目录 $ProjectFileDir$。我已设置复选框执行后同步文件和打开控制台以进行工具输出。

相关内容