VS2013 c++调用python程序

来源:互联网 发布:防御矩阵2ipone 编辑:程序博客网 时间:2024/06/05 14:28

由于想对c++产生的数据进行条形图显示,想调用python中的matplotlib模块来进行柱状图显示,所以研究了一下使用c++如何调用python程序,中间遇到了好多问题,参考了好多博客,终于成功,现在将其记录下来。


1、使用VS2013创建工程,工程名test。

2、将python安装目录下的include和libs两个文件夹,拷贝到test.sln同目录下。

3、将libs中的python27.lib重命名为python27_d.lib(这个的原因是include目录下的pyconfig.h里面的代码再debug下调用的是python27_d.lib)。否则会出现以下错误:

>LINK : fatal error LNK1104: 无法打开文件“python27_d.lib”

4、点击test项目右键,在属性->c/c++->常规项->附加包含目录中添加..\include。在属性->链接器->常规->附加库依赖中添加..\libs。在属性->链接器->输入->附加依赖项中添加python27_d.lib

5、在属性页面将平台配置为x64,不然的话会出现以下错误:

error LNK2019: 无法解析的外部符号 __imp__Py_Initialize,该符号。

6、按照以上步骤就会将其已经配置好了。这时候就可以进行测试了。


测试程序的主要功能是调用python的print函数打印Hello World!!程序如下:

#include "stdafx.h"#include <python.h>int main(){Py_Initialize();  //调用Py_Initialize()进行初始化PyRun_SimpleString("print 'Hello World!!'");Py_Finalize(); //调用Py_Finalize,和Py_Initialize相对应的.return 0;}


测试结果如下所示:


一些函数的具体用法继续研究。

参考文章:c++调用python

c++中调用python脚本