You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Boost.Python从Python调用Visual C++类方法失败求助

尝试2参数不匹配问题修复

你未对类进行实例化就直接调用成员方法,hello2.World是类本身,加括号才能生成实例,正确写法:

import hello2
planet = hello2.World()
planet.set('howdy')
# 执行后会输出howdy
print(planet.greet())

尝试1运行库断言失败问题修复

这是编译配置不匹配导致的,按以下步骤调整即可:

  1. 切换VS项目编译配置为Release模式:你使用的Python是官方Release版本,Debug模式编译的C模块链接的Debug版C运行库和Python依赖的Release版运行库冲突,会触发运行时断言
  2. 检查运行库配置:打开VS项目属性→C/C++→代码生成→运行库,Release模式下选择多线程 DLL (/MD),和Boost、Python的运行库保持一致
  3. 重新编译生成DLL,重命名为hello2.pyd后再导入测试即可正常运行

其他校验点

  • 确认Boost.Python编译时使用的是msvc-14.1工具集、32位架构,和你项目配置匹配
  • 你的代码中BOOST_PYTHON_MODULE后的模块名和pyd文件名一致,这部分配置无问题

内容的提问来源于stack exchange,提问作者Haim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:06:05