1

当我从 QPluginLoader 对象打印 errorString 的值时,我得到了这个:

文件“C:/pyprojects/test/qsqlpsqld4.dll”不是有效的 Qt 插件。

我想避免花费一些时间来做我当前的互联网搜索所揭示的耗时的“猜测和检查”方法(到目前为止,它们似乎都不相关)。

有没有办法让 Qt 库本身告诉我它为什么拒绝加载这个插件?

我不想猜测;我想知道

语境:

我在运行 Qt 4.8.5(32 位,MinGW)的 Windows 7 上,qsqlpsqld4.dll 文件也是 32 位并使用 MinGW 编译的。

我正在使用 PySide 与 Qt 交互。

4

2 回答 2

0

PySide 不支持 MinGW。官方 PySide 发行版使用 Visual C++ 编译。您需要使用兼容的 Visual C++ 版本重新编译您的插件。默认情况下,Python 2.6、2.7 和 3.2 的 PySide 使用 VC++ 2008 编译。Python 3.3 的 PySide 使用 VC++ 2010 编译器编译。

于 2013-11-12T12:07:28.057 回答
0

听起来 PySide 想要库的非调试版本。

当您处于调试模式时,它会引用以d.dll或结尾的库d4.dll。尝试抓取dll名称末尾没有的插件,d并将其放在同一位置。

我最近经历了为 Visual Studio 2010 编译 4.8.4 的 mysql qt 插件之一的过程,并取得了胜利。

让我知道进行该更改是否可以修复它。:)

希望有帮助。

于 2013-11-12T03:49:33.913 回答