c++调用python36
首先需要配置环境,创建win32控制台程序,然后对工程进行配置。
项目–>属性–>vc++目录–>包含目录 添加python安装目录中include目录
项目–>属性–>vc++目录–>库目录 添加python安装目录中libs目录
链接器–>输入–>附加依赖项 添加python36.lib
注意,如果C++工程采用debug版本,需要将将 python安装目录里libs文件夹下的python36.lib文件复制,并将名字改成 python36_d.lib
按上述步骤运行代码,报错,一大堆无法解析符号
百度后找到解决方案:
修改 pyconfig.h
#ifdef _DEBUG
# define Py_DEBUG
#endif
改为
#ifdef _DEBUG
//# define Py_DEBUG
#endif
# ifdef _DEBUG
# pragma comment(lib,"python27_d.lib")
# else
# pragma comment(lib,"python27.lib")
# endif /* _DEBUG */
改为
# ifdef _DEBUG
# pragma comment(lib,"python27.lib")
# else
# pragma comment(lib,"python27.lib")
# endif /* _DEBUG */
修改object.h
#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
#define Py_TRACE_REFS
#endif
改为
#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
// #define Py_TRACE_REFS
#endif
运行后依旧报相同的错,我没办法了,求大神。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
还是用py2吧,py2可以用,py3的上述问问题我还是没有解决