栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C++调用python问题记录】禁止显示状态错误 C4996 ‘PyEval

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C++调用python问题记录】禁止显示状态错误 C4996 ‘PyEval

笔者是在初次学习使用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文件第一行加上 #include "stdafx.h"

但是#include "stdafx.h"是我之前删掉的东西,之前报错我把它删掉了又加了一个”#include “就ok了

好吧,问题重现了,

看到有人说把#include "stdafx.h"替换成#include 和#include 就了,可还是出现了图二的问题,似乎陷入了一个循环。后来发现是属性页设置的问题,解决了。

其中如果出现无法找到某.obj的错误,在附加依赖项里面加'*'通配符就好了,亲测有效,如下图所示。

 后来调试没有错误,但运行出现以下错误:

这个很多博客进行回答了,包括io.h重命名的错误,还有abc.py文件的重命名问题,但是没有一种是符合我的情况,我很疑惑,不知道如何解决?各位大佬教教我吧

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990380.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号