静态编译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_buildinfo和make_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
成功!!!!!!!!!!!!!!!!!!!!!