PY2EXE:如何输出“ * _ D.PYD”文件(调试)并使用MSVCR80D.DLL?

StackOverflow https://stackoverflow.com/questions/814078

  •  03-07-2019
  •  | 
  •  

我的应用程序的调试配置是针对以下内容构建的:

  PYTHON25_D.DLL
  MSVCR80D.DLL

我们在应用程序中使用Python .PYD文件。其中一些.PYD是.PY由PY2EXE转换为.PYD。

当我在MYSCRIPT.PY上运行PY2EXE时,我得到以下.PYD和依赖项:

MYSCRIPT.PYD
  PYTHON25.DLL
  MSVCR71.DLL
  KERNEL32.DLL  

想要的是调试版本,是针对我的应用程序使用的相同C运行时库(MSVCR80D.DLL)构建的。

如何将MYSCRIPT.PY转换为:

MYSCRIPT_D.PYD                 <-- debug version of .PYD end with "_D"
  PYTHON25_D.DLL               <-- debug version of Python
  MSVCR80D.DLL                 <-- ver 8.0, Debug
  KERNEL32.DLL

如何做到这一点?

有帮助吗?

解决方案

请注意,MS调试dll是不可分发的 - 您不能给它们提供avay。但是,如果运行Python的调试版本和py2exe的调试编译版本,py2exe将正确收集所有dll的调试版本。

其他提示

它不起作用,因为MSVCR80D是一个并排的运行时

您需要告诉用户直接安装MS运行时或手动复制清单文件。 此外,未选择MSVCR71.DLL。它适用于Python,因此您可能仍需要保留它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top