`
dqifa
  • 浏览: 112080 次
社区版块
存档分类
最新评论

静态编译python为静态库并嵌入到C++中

 
阅读更多

静态编译python为静态库嵌入到C++

 

1、下载 python2.7.6版本源代码(http://www.python.org/ftp/python/2.7.6/

2、解压到Python-2.7.6文件夹

3、进入Python-2.7.6\PC\VS8.0文件夹,用Microsoft Visual Studio 2010打开解决方案 pcbuild.sln

4、切换到Release模式

5、更改C/C++—代码生成—运行库:多线程(/MT

6、更改配置属性—配置类型:静态库(.lib

7、更改配置属性—目标文件名:bin\python27.lib

8、在pythoncore中添加Modules文件夹中的getbuildinfo.c文件

9、打开PC文件夹中dl_nt.c文件,删除第14行的#ifdef Py_ENABLE_SHARED和第106行的#endif /* Py_ENABLE_SHARED */

10、先分别编译make_buildinfomake_versioninfo,再编译pythoncore生成python27.lib

11、在Python-2.7.6文件夹下建立一个空的新解决方案pythonTest.sln

12、添加一个文件main.cpp

内容如下

#include <python.h>

#include <stdio.h>

 

int main()

{

       Py_Initialize();

       PyRun_SimpleString("print '\\nPython静态库编译成功!'");

       Py_Finalize();

       getchar();

       return 0;

}

13、配置pythonTest工程

        C/C++项的附加包含目录中添加:..\..\Include..\..\PC两个目录

        C/C++—预处理器—预处理器定义中添加一个宏: Py_NO_ENABLE_SHARED

        更改C/C++—代码生成—运行库:多线程(/MT

        设置链接器—附加库目录中添加:..\..\\PC\VS8.0\bin目录

        设置链接器—输入—附加依赖项:python27.lib

14、执行编译,生成 exe文件为:pythonTest.exe

成功!!!!!!!!!!!!!!!!!!!!!

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics