zoukankan      html  css  js  c++  java
  • 『Python』VS2015编译源码注意事项

    一、2.5.6版本源码编译

    • 解压 Python-2.5.6.tgz

    • 进入 Pcbuild8 文件夹,使用 vs 2013 打开 pybuild.sln (vs 解决方案),进入 vs2015IDE 环境

    • 进入IDE后之后,在载入解决方案时vs会要求我们进行升级操作,确认即可,完了会弹出一个升级报告的html文件,一般没有错误
    • 右键解决方案’pcbuild’ ⇒ 属性

      • 通用属性

        单启动项目 ⇒ 选择 python

      •  配置属性

        • 左上角的【配置】⇒ Debug(Release 可能会报错)
        • 项目上下文 ⇒ 仅选中 python/pythoncore
    • 首先编译 make_buildinfo 和 make_versioninfo

      分别右键 make_buildinfo/make_versioninfo ⇒ 仅用于项目 ⇒ 仅重新生成

    • 编译此解决方案,最终会在开始的 PCbuild8Win32Debug文件夹下生成 python_d.exe 和 python25_d.dll 文件,可双击 python_d.exe,进入 python 命令行环境。编译中间应该有6个错误,解决方式如下,

    1. timezone 这个宏不再被vs2015支持,所有出现的地方都要替换为_timezone ,剩下的几个关于时间的编译错误也是如此加个下划线【_】就好了。错误都集中在 pythoncore下的timemodule里 line:687附近,也有几个其他的报错变量出现,位置也在这附近,处理方法同样是前面加下划线。
    2. 项目的配置问题:主要是compiler编译出的中间文件名和linker使用的文件名不匹配,参考之前的错误报告, 需要在配置里设置pythoncore项目的输出文件名为$(PyDllName)_d (右键pythoncore ⇒ 属性)。

    二、3.6.5版本源码编译

    整体流程同编译2.x版本,只是编译时错误不一样,

    编译解决方案时有可能会出错:windows sdk version 10.0.15063 was not found,解决方案是根据Fix python 3.6 build failure with VS 2015 and WinSDK!=10.0.15063所说的方法,打开python.props, 将第77行(3.6.5版本此处实际在77行后面一点),

    <DefaultWindowsSDKVersion>10.0.15063.0</DefaultWindowsSDKVersion>

    更改为,

    <DefaultWindowsSDKVersion Condition="$(_RegistryVersion) == '10.0.15063'">10.0.15063.0</DefaultWindowsSDKVersion>

    即可。

  • 相关阅读:
    nginx错误收集
    RDP-报表
    畅谈一二三
    基于vue项目,如何构建组织可维护前端路由结构
    Grid 布局基础常见场景
    数组中every、some、from、reduce四个很重要的api用法总结
    当代免疫学小史-第三章
    当代免疫学小史-第二章
    微信小程序swiper实现 句子控app首页滑动卡片
    微信小程序 setData的小知识
  • 原文地址:https://www.cnblogs.com/hellcat/p/8742861.html
Copyright © 2011-2022 走看看