首页 > 解决方案 > 无法识别 shiboken 版本 (5.15.2)

问题描述

我作为我的同事尝试在 Windows 上使用 shiboken + C++ + Qt 的组合,但它不起作用

控制台:来自 MVS 的 x86 管理员,QT 5.15.2 ,CMAKE 3.19.8

来自 MVS 安装程序 3.7 的 Python(使用路径:PYTHONHOME C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64,路径:C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64)

Shiboken 从https://code.qt.io/cgit/pyside/pyside-setup.git/下载

cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug 
C:\Users\...qt-5.15.2\pyside-setup\sources\shiboken2\ -DBUILD_TESTS=False 
-DCMAKE_PREFIX_PATH='C:\Users\...\qt-5.15.2;' -DCMAKE_INSTALL_PREFIX='C:\Users\...\QT\shiboken2-debug' -
DPYTHON_EXECUTABLE='C:\ProgramFiles(x86)\MicrosoftVisualStudio\Shared\Python37_64\python_d.exe'

输出:

CMake Error at CMakeLists.txt:51 (message):
  Could not identify shiboken version.  Error:

当我更改 cmake 文件时,我发现很有趣:PYTHON_DEBUG_LIBRARIES 为空

在检查了 cmakefile 之后,我可以看到无论 cmake 使用 python_d 调用 execute_process,python 都不起作用并返回 null,python_d 的路径是正确的。我在目录中有 python_d.exe。我尝试不从 MVS 安装 python,结果相同。我尝试使用 3.9 python。我从旧的 python 版本中清理了 sys 路径。

标签: shiboken2

解决方案


所以,感谢同事,这是一个错误的路径 DPYTHON_EXECUTABLE,我在 Cmake 文件中添加消息以输出正确的路径,并成功使用。“C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python_d.exe”

在此之前我重新安装了 MVS,但我认为它没有任何效果


推荐阅读