代码如下
#include <Python.h>
#include <iostream>
using namespace std;
int main()
{
Py_Initialize();
PyObject* pModule = NULL;
PyObject* pFunc = NULL;
pModule = PyImport_ImportModule("test");
pFunc = PyObject_GetAttrString(pModule, "Hello");
PyEval_CallObject(pFunc, NULL);
Py_Finalize();
return 0;
}
这段代码,是通过C++调用了python模块,在模块中调用了test.py,然后执行了Hello函数。
我主要将介绍一些依赖库的添加和一些常用的路径。
重点
1.如何导入 Python.h 这个头文件。
它属于外部依赖库。类似如下图
类似这些,系统默认会自带一些外部依赖库。
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt
这个是系统自带的库文件路径。(不同的PC,可能位置不一样)
我安装了anaconda,它自带python的解释器,和一些的库,如下:
需要将该路径添加到VS2019中,即
选择 项目->属性
可以看到我把头文件路径添加了进去。
2.运行这个还需要设置PYTHONPATH 和PYTHONHOME
PYTHONHOME : 即python解释器的地方. (有这个–>pyhton.exe -->找到其的路径)
我设置如下:
因为anaconda里有python的解释器。
(虽然在环境变量里加了 python解释器的路径,但这里,c++可能只认PYTHONHOME这个参数,建议设置一下)
PYTHONPATH 指的是py文件放的地方。
test.py 内容如下:
#Filename test.py
def Hello():
print("Hello, world!")
如此配置好了,执行如下:
本人了解不深,有不对的地方,还请指正。