PYTHON C++混合编程笔记(一)- VS2017 编译 python 2.7

https://www.cnblogs.com/flhang/p/10591639.html

PYTHON C++混合编程笔记(一)- VS2017 编译  python 2.7

0x00 前言

最近想把一些经验和笔记分享出来,也便于自己查询和复习。

 

0x01 环境准备

1) 下载python 最新2.7.16源代码

https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tar.xz

2) VS2017

 

0x02 外部库下载

1)命令行进入到解压目录的PCbuild,如X:\Python-2.7.16\PCbuild

2)运行get_externals.bat,下载外部库,如图所示

 

 

0x03 编译

1)打开PCbuild目录的pcbuild.sln,根据需要选择后点“确定”,如图所示:

 

2)先选择python、pythoncore的win32 debug 版本测试编译,如图所示:

 

 

3)编译失败,需要修改相关标识符

 

4)timezone改为_timezone , daylight改为daylight , tzname改为tzname后,重新编译

复制代码

复制代码

 

5)编译仍然失败,如下图所示:

 

6)找到pythoncore 工程的posixmodule.c , 修改_PyVerify_fd如下

复制代码

复制代码

 

7)再次编译,编译成功。

 

8)根据需要选择相应库进行编译

 

0x04 后记

C++ 调用python的工程中, 如果是debug必须使用debug版本的python,如果是release必须使用release版本编译的python,包括所有库的lib,debug必须使用***_d.lib。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注