python3.5 - 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
运行后依旧报相同的错,我没办法了,求大神。
问题解答
回答1:还是用py2吧,py2可以用,py3的上述问问题我还是没有解决
相关文章:
1. mysql插入文本如果是个sql语句就报错了2. css - 如何讓圖片像雲一樣的行為?3. javascript - vue中input的blur影响了下拉的点击事件如何解决4. javascript - sublime快键键问题5. javascript - 微信小程序 如何实现这种左滑动出现删除的办法?有相关api吗?6. node.js通过module.exprots返回的是promise对象而非data?7. docker gitlab 如何git clone?8. docker 17.03 怎么配置 registry mirror ?9. python打开.py文件的时候出现window无法打开该文件是怎么回事呢?10. javascript - swiper插件loop模式下的BUG?

网公网安备