VC与Python交互(一)(静态编译Python的方法)

1 准备工作
   a 到http://www.python.org/ftp/python/2.5.4/下个包Python-2.5.4.tar.bz2
   b 进入Python-2.5.4/PCbuild8 ,打开解决方案pcbuild.sln
   c 修改pythoncore的编译配置:
     Config Type -> .lib
     RunTime Library -> MT / MTD
   d 按顺序编译
      make_buildinfo
      make_versioninfo
      pythoncore
      注:如果无法打开工程,可能是工程文件首行<?xml version="1.0" encoding="Windows-1252"?>的问题
   e 确认以下文件是否生成,关闭pcbuild.sln
      getbuildinfo.c
      pythonnt_rc_d.h
      pythonnt_rc.h

 

2 嵌入工程
   a 打开需要嵌入Python的工程,将pythoncore导入
   b 将pythoncore中Build Events的事件 cd $(SolutionDir) make_buildinfo/make_buildinfo.exe取消
   c 修改lib的输出位置,与源工程匹配,并将输出文件改为 python25_d.lib / python25.lib
   d 配置include目录,
      Python-2.5.4/PC
      Python-2.5.4/Include
   e 配置RunTime Library -> MT / MTD
    f 配置c/c++项中: preproccessor 的 preproccessor Definitions 添加一个宏: Py_NO_ENABLE_SHARED
   g 配置Linker中Genral的:Additional Library Directories 为 python25.lib所在目录
      配置Linker中Input的 Additional Dependencies 为 python25_d.lib / python25.lib
   h rebuild

 

3 测试代码

#include <stdio.h> #include "python.h" int main() { Py_Initialize(); PyRun_SimpleString("print 'i am a static python exe!!!'"); Py_Finalize(); return 0; }

你可能感兴趣的:(python,include,library,dependencies,encoding,linker)