python在vs2013下的编译
2017-03-05 23:30
274 查看
python在vs2013下的编译
然而,看着26个工程中,若干不能编译成功,感觉很是碍眼。所以花了一些工夫来完成一些模块的编译。现在简单记录一下,以备后查。
Tcl/TK安装,应该也可以下载源码编译;但是都没有具体去看这一对是干什么的,也就下载了相应的prebuild版本ActiveTCL安装,get到相应的include、lib和dll
bzip2-1.0.6
db-4.7.25.0
需要注意一点是平台配置需要与python的平台配置一样,不如都是x64的debug
bz2工程:同上,引入bzip2的文件
_tkinter工程:从ActiveTCL安装目录引入,同上
error LNK1181: 无法打开输入文件“….\tcltk64\lib\tcl85g.lib ….\tcltk64\lib\tk85g.lib”
原因是之前工程的配置宏失效,引用的是85版本的库
sqlite3工程:将externals的sqlite-3.8.11.0文件添加进来,生成的文件给_sqlite使用
如此,大部分module都可以编译通过,除了_ssl和_hashlib需要更多安装更多,放弃。
自定义生成事件中的宏失效
然后就可以开心的hack python了
简记
使用VS的工具来编译python,能够享受vs调试的便利性。从目前的体验来看,老版本甚至当前的python2系列,都未能及时赶上vs的进度。尽管如此,在利用vs自带的版本工程文件upgrade功能,也能够完全满足编译python和pythoncore以及其他一些module的需求(有一些会存在一些问题)。然而,看着26个工程中,若干不能编译成功,感觉很是碍眼。所以花了一些工夫来完成一些模块的编译。现在简单记录一下,以备后查。
准备工作
下载外部依赖工程
参考使用 Visual Studio 2015 编译 Python 2.7.11给出的github下载地址,或者利用python2.7.13中的get_externals.bat来下载(需要安装tortoiseSVN,命令行选项,才会有svn命令),下载存放在python根目录的externals下Tcl/TK安装,应该也可以下载源码编译;但是都没有具体去看这一对是干什么的,也就下载了相应的prebuild版本ActiveTCL安装,get到相应的include、lib和dll
编译外部依赖库
因为有两个工程还需要perl,就放掉了。这几个工程的vs版本都比较陈旧,用的vc6.0的dsw工程。upgrade一下,甚至需要再次upgrade一下。bzip2-1.0.6
db-4.7.25.0
需要注意一点是平台配置需要与python的平台配置一样,不如都是x64的debug
编译过程
_bsddb工程: 头文件、lib文件路径从externals的db中引入;libdb47d.lib输入;libdb47d.dll放置到生成目录bz2工程:同上,引入bzip2的文件
_tkinter工程:从ActiveTCL安装目录引入,同上
error LNK1181: 无法打开输入文件“….\tcltk64\lib\tcl85g.lib ….\tcltk64\lib\tk85g.lib”
原因是之前工程的配置宏失效,引用的是85版本的库
sqlite3工程:将externals的sqlite-3.8.11.0文件添加进来,生成的文件给_sqlite使用
如此,大部分module都可以编译通过,除了_ssl和_hashlib需要更多安装更多,放弃。
自定义生成事件中的宏失效
然后就可以开心的hack python了
后记
连续配置了2.6.3和2.7.8两个版本,都顺利编译了除_ssl和_hashlib(这两个依赖openssl的工程)外的所有工程;external中的openssl也没有编。感谢
使用 Visual Studio 2015 编译 Python 2.7.11相关文章推荐
- vs2013 + python3.52 + boost1.61, 编译C++库失败
- Python 源码剖析(一)—— vs2013 编译 python 源码
- VS2013编译python源码
- VS2013的boost.python编译
- bjam.exe stage --toolset=msvc-12.0 vs2013 编译boost
- vs2013无法编译c/c++ 错误 TRK0002: 未能执行命令cl.exe 存储控制块地址无效
- win7、vs2013编译webkit总结
- vs2013编译google protobuf生成的消息文件错误。
- VS2013编译Qt5.2.0 32位静态库debug-and-release版及结果分享
- Windows Embedded Compact 2013升级:VS2013也能编译
- bjam.exe stage --toolset=msvc-12.0 vs2013 编译boost
- vs2013编译opencv2.4.7错误解决办法
- 【Ruby】Win8.1 + VS2013 环境编译 Ruby 2.1.1
- VS2012 编译带有c/c++代码的python模块失败解决方案
- vs2013编译boost1.55.0 32/64位
- Win7 & VS2013 编译 WebKit 总结
- VS2013编译Qt5.2.1 32位静态库debug-and-release版及结果分享
- VS2013编译boost1.55.0 serialization库错误解决办法
- win7&vs2013编译webkit