在VS2012中C++嵌入python

转自:

http://blog.csdn.net/haimengao/article/details/16867547

1、在VC++目录中添加头文件目录:c:\Python33\include

     添加库文件目录: c:\Python33\libs

     右击解决方案下的项目,选择"属性",即:

        

        

     2、在链接器--输入---附加依赖项里输入“python33.lib”

   

     

   如果非64位机,请看下文

   3、 由于PYTHON是64版本,所以将解决方案平台定义为‘ X64’。这里没改之前是'WIN32',编译可以成功,但是链接时会出现错误:         

      error LNK2019: 无法解析的外部符号 __imp__PyObject_GetAttrString,该符号在函数 _main 中被引用
      error LNK2019: 无法解析的外部符号 __imp__Py_Initialize,该符号在函数 _main 中被引用
      error LNK2019: 无法解析的外部符号 __imp__Py_Finalize,该符号在函数 _main 中被引用
      error LNK2019: 无法解析的外部符号 __imp__PyEval_CallObjectWithKeywords,该符号在函数 _main 中被引用
      error LNK2019: 无法解析的外部符号 __imp__PyImport_ImportModule,该符号在函数 _main 中被引用


       修改平台后,编译链接正常。

       修改平台步骤如下:

      将 C++ 应用程序设置为面向 64 位平台

  1. 打开要配置为面向 64 位平台的 C++ 项目。

  2. 打开该项目的属性页。有关更多信息,请参见 如何:打开项目属性页

    说明:

    对于 .NET 项目,请确保在“<项目名> 属性页”对话框中选择“配置属性”节点或其子节点之一。否则,“配置管理器”按钮仍为禁用。

  3. 单击“配置管理器”打开 “配置管理器”对话框

  4. 单击“活动解决方案平台”列表,然后选择“<新建...>”选项以打开 “新建解决方案平台”对话框

  5. 单击“键入或选择新平台”下拉箭头,然后选择一个 64 位平台。

    说明:

    “新建解决方案平台”对话框中,可以使用“从此处复制设置”选项将现有的项目设置复制到新的 64 位项目配置中。

  6. 单击“确定”。在上一步中选择的平台将出现在“配置管理器”对话框中的“活动解决方案平台”下。

  7. “配置管理器”对话框中单击“关闭”,然后在“<项目名> 属性页”对话框中单击“确定”

    附:C++代码:VS2012新建项目:win32控制台应用程序,修改项目名称,点击下一步,再点击完成。

#include "stdafx.h"
#include <Python.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
	Py_Initialize();

	//PyRun_SimpleString("print 'Today is Sunday\n");
	PyRun_SimpleString("print ('hi,python!')");
	//FILE*fp;
	//fp = fopen("C:\\1.py", "r");
	//PyRun_SimpleFile(fp, "C:\\1.py");
	Py_Finalize();
	return 1;
}
结果是:
               


Guess you like

Origin blog.csdn.net/liulina603/article/details/79421073