笔者是在初次学习使用VS里面的C++调用python中遇到的这个问题,本意是复现一次成功的调用,但中间遇到了如题所示的错误
笔者复现参考网址:https://www.cnblogs.com/betterwgo/p/8176525.html
笔者搜素了相关的资料,发现这个问题就是版本问题,这个”PyEval_CallObjectWithKeywords“API在python3.9版本里已经被淘汰了。那么如何去解决呢?笔者想着找到能替代它的对应API不就行了,然后经过查找,发现:
将已经弃用的PyEval_CallObject()调用替换为PyObject_CallObject(). #9737
就可以了。
但是新的问题也来了:
C2857 在源文件中没有找到用 /Ycstdafx.h 命令行选项指定的“#include”语句 。
解决方案:在cpp文件第一行加上 #in