1.以Python2.7为例,安装路目录如C:\Python27\include下面有C++需要的头文件Python.h等,所以需要把这个目录配置到VS工程属性include附加目录。
2.链接器需要python27_d.lib或者python27.lib,一般我们下载的python都是64位release版,没有python27_d.lib,所以我们在VS工程链接属性下附加python27.lib和附加目录:C:\Python27\libs。
3.代码:
#include "Python.h"
int _tmain(int argc, _TCHAR* argv[])
{
Py_Initialize(); //调用python api之前要初始化
//这里可放任何python api函数,比如下面这个python的print
PyRun_SimpleString("print '这句话是由Python API输出的,不是C++输出的!'");
Py_Finalize(); //调用完python api别忘记释放资源}
4.编译可能通不过,有以下两点原因:
第一,可能报找不到python27_d.lib,如果是这样,修改如下:
修改C:\Python27\include\pyconfig.h,找到
#ifdef _DEBUG
//# define Py_DEBUG //注视掉即可
#endif
# ifdef _DEBUG
//# pragma comment(lib,"python27_d.lib")
# pragma comment(lib,"python27.lib") //这里改成release版的
# else
# pragma comment(lib,"python27.lib")
# endif /* _DEBUG */
修改C:\Python27\include\object.h如下:
#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
//#define Py_TRACE_REFS //注释掉即可
#endif
第二,某些函数Link出错,因为VS debug默认是win32的,这里改为x64,再编译就通过了。