首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法导入C++ Qt库shiboken绑定的pyd

无法导入C++ Qt库shiboken绑定的pyd
EN

Stack Overflow用户
提问于 2021-03-09 15:05:18
回答 1查看 124关注 0票数 0

我正在尝试从pyside的示例构建示例widgetbinding。我成功地构建了模块pyd,但在构建pyd之后无法导入该模块。我也尝试了我自己的C++ Qt库,得到了同样的错误。

我使用cmake构建绑定模块:

代码语言:javascript
复制
cmake -B ./build -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release
cd build
nmake
nmake install
cd .. # back to the directory my pyd installed
ipython # start testing the importing

In [1]: import wiggly
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-8a2812855881> in <module>
----> 1 import wiggly

ImportError: DLL load failed while importing wiggly: 找不到指定的模块。

尝试将模块包含在python中

我使用的是Windows10,使用的是Qt 6.0.2、Shiboken6.0.1和PySide6.0.1。我机器上的python是从python.org下载的目录(我自己不使用构建在vs2019上的python有关系吗?)

我可以从pyside6 6/examples成功构建示例绑定,它不包含任何与Qt相关的C++代码。可以在python中导入模块

EN

回答 1

Stack Overflow用户

发布于 2021-03-10 11:56:27

我已经找到解决方案了。

我得到这个ImportError是因为我在IPython上使用一行代码测试pyd:

代码语言:javascript
复制
import wiggly

但本例中的pyd (作为Qt库构建)依赖于pyside6.abi3.dllQtWidgets.dll等dll。

因此,当我在导入wiggly之前导入PySide6.Qwidgets时,它可以工作!现在我写道:

代码语言:javascript
复制
import PySide6.QtWidget
import wiggly
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66542257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档