繁体   English   中英

在C ++中嵌入Python的错误:无法读取内存

[英]Error of embedding Python in C++ : unable to read memory

我正在尝试将Python嵌入VS C ++,但遇到了此错误:无法读取内存。 C ++代码是

Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
pName = PyBytes_FromString("Test001");
//pName = PyBytes_FromString(argv[1]);
pModule = PyImport_Import(pName);

pName包含对于注释行都“无法读取内存”的属性。 因此,PyImport_Import无效,pModule为NULL。 我已经在环境变量中设置了PYTHONPATH,并将argv [1]设置为Test001。 文件Test001.py与.exe在同一文件夹中。 我看不到问题,我认为配置存在一些问题。

预先感谢您的帮助!

我已经使用Visual Studio 2013和Python 2.7成功尝试了您的代码。 我唯一的问题是调试链接需要python27_d.lib,我不得不使用以下方法解决该问题:

#ifdef _DEBUG
#undef _DEBUG
#include <python.h>
#define _DEBUG
#else
#include <python.h>
#endif

您还应该检查要链接的python版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM