VS +Anaconda4.4+C++调用py文件

时间:2024-04-12 12:30:49

1、环境配置

  1. 打开vs2015新建项目,我选的是Win32控制台程序,在项目中新建一个cpp文件。
  2. 项目 > 属性 > C/C++ > 常规 > 附加包含目录下,添加anaconda中include文件夹

    VS2015 +Anaconda4.4+C++调用py文件
  3. 项目 > 属性 > 配置属性 > 链接器 > 常规 > 附加库目录,添加anaconda中libs文件夹。
    VS2015 +Anaconda4.4+C++调用py文件
  4. 在anaconda文件夹中libs文件下,将".lib"文件,进行复制,给新得到文件名后加上“_d”(否则会报错)
    VS2015 +Anaconda4.4+C++调用py文件

2、运行一个简单程序

#include<iostream>
#include<Python.h>

int main()
{
	Py_Initialize();  //调用Py_Initialize()进行初始化
	PyRun_SimpleString("print ('Hello World!!')");
	Py_Finalize(); //调用Py_Finalize,和Py_Initialize相对应的.
	std::system("pause");
	return 0;
}

 3、调用一个简单的py脚本

#include<Python.h>//前面所做的一切配置都是为了调用这个头文件和相关库
#include<iostream>

int main() {
	Py_Initialize();//使用python之前,要调用Py_Initialize();这个函数进行初始化
	PyObject * pModule = NULL;//声明变量
	PyObject * pFunc = NULL;// 声明变量
	pModule = PyImport_ImportModule("helloworld");//这里是要调用的文件名
	pFunc = PyObject_GetAttrString(pModule, "hello");//这里是要调用的函数名
	PyEval_CallObject(pFunc, NULL);//调用函数
	Py_Finalize();//调用Py_Finalize,这个根Py_Initialize相对应的。
	std::system("pause");
	return 0;
}
def hello():
    print("Hello World!")

VS2015 +Anaconda4.4+C++调用py文件

引用