2016-02-09 28 views
0

我想在VS C++中嵌入Python,但我遇到了這個錯誤:無法讀取內存。 C++代碼是在C++中嵌入Python的錯誤:無法讀取內存

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位於同一文件夾中。我看不到問題,我認爲配置有一些問題。

感謝您的幫助!

+0

任何人都可以幫忙? – Lucas

回答

0

我已經使用Visual Studio 2013和Python 2.7成功地嘗試了您的代碼。 我唯一的問題是,在調試這需要python27_d.lib的鏈接,我不得不解決使用問題:

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

您也應該檢查你正在鏈接哪個版本的Python反對。

+0

感謝您的relpy。我也遇到了這個問題,並且我已經解決了它。但是,你把文件Test001.py放在哪裏?在與.exe相同的文件夾中?任何額外的配置要做? – Lucas

+0

我只是把它和我的vcxproj文件放在一起。 您可以在項目的調試屬性中檢查工作目錄的值。 –

+0

您是否更改過其他配置? – Lucas