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. java - ReentrantLock和Synchronized2. mysqli更新不了数据3. android - MVP模式 包的结构4. angular.js - 请教一个关于angularjs的小问题5. javascript - vue项目里的package.json6. Google App EngineJSP无法部署:java.lang.RuntimeException:无法获取系统Java编译器。请使用JDK,而不是JRE7. 如何解决docker宿主机无法访问容器中的服务?8. android - 离线地图的这种列表该怎么实现?9. mysql - sql 左连接结果union右连接结果,导致重复性计算怎么解决?10. python - django 按日归档统计订单求解
