Windows编译Shiboken 5.15.2时CMake提示无法识别版本问题求助
故障排查修复步骤
1 修正CMake参数的路径转义错误
你提交的CMake命令中PYTHON_EXECUTABLE等路径参数存在两处错误:
- 实际路径中的
Program Files (x86)、Microsoft Visual Studio带有空格,你填写的参数直接删除了空格,导致路径指向不存在的文件 - Windows平台CMake仅识别双引号作为带空格路径的包裹符,你使用的单引号在3.19版本中会被解析为路径的一部分
修正后的路径参数示例:
-DPYTHON_EXECUTABLE="C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\python_d.exe" -DCMAKE_PREFIX_PATH="C:\\Users\\...\\qt-5.15.2" -DCMAKE_INSTALL_PREFIX="C:\\Users\\...\\QT\\shiboken2-debug"
2 验证Python debug版本完整性
在当前打开的MSVC控制台中直接执行如下命令,验证python_d可正常运行:
"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python_d.exe" -c "import sys; print(sys.version)"
如果运行时弹出dll缺失、无输出等异常,说明MSVC安装的Python缺少debug组件:打开Visual Studio Installer,找到Python 3.7组件,勾选「Python 调试二进制文件」「Debug 库」完成安装后重试。
3 手动指定Python debug库路径
如果PYTHON_DEBUG_LIBRARIES仍为空,可在CMake命令中手动补充该参数,确认路径对应你本地的python37_d.lib实际位置:
-DPYTHON_DEBUG_LIBRARY="C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python37_64\\libs\\python37_d.lib"
4 校验架构与版本匹配
- 你使用的是MSVC x86控制台,对应的Qt、Python版本必须统一为32位,你当前的PYTHONHOME路径指向64位Python,架构不匹配会导致Python调用无输出,可更换为32位Python 3.7 debug版本,或改用MSVC x64控制台编译
- Shiboken2源码必须和Qt版本对应,拉取源码后需要切换到
5.15.2tag,不能使用dev或Qt6分支的代码
内容的提问来源于stack exchange,提问作者Стас
相关产品推荐
相关产品推荐

