PY2EXE:如何输出“*_D.PYD” 文件(调试)并使用 MSVCR80D.DLL?
我的应用程序的调试配置是根据以下内容构建的:
PYTHON25_D.DLL
MSVCR80D.DLL
我们在应用程序中使用 Python .PYD 文件。 其中一些 .PYD 是由 PY2EXE 转换为 .PYD 的 .PY。
当我在 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
如何做到这一点?
The debug configuration of my app is built against:
PYTHON25_D.DLL
MSVCR80D.DLL
We use Python .PYD files in our application. Some of these .PYD are .PY converted by PY2EXE to .PYD.
When I run PY2EXE on MYSCRIPT.PY, I get the following .PYD and dependencies:
MYSCRIPT.PYD
PYTHON25.DLL
MSVCR71.DLL
KERNEL32.DLL
What I want is the debug version, built against the same C runtime library my app uses (MSVCR80D.DLL).
How can I convert MYSCRIPT.PY into:
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
How can this be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请注意,MS 调试 dll 是不可分发的 - 您不得将它们提供给他人。 但是,如果您运行 Python 的调试版本和 py2exe 的调试编译版本,py2exe 将正确收集所有 dll 的调试版本。
Note that the MS debug dlls are nondistributable - you must not give them avay. However, py2exe will collect the debug versions of all dlls correctly if you run a debug version of Python, and a debug compiled version of py2exe.
它不会工作,因为 MSVCR80D 是并行运行时
您需要告诉用户直接安装 MS 运行时或手动复制清单文件。
另外,MSVCR71.DLL 也没有为您选择。 它适用于 Python,因此您可能仍需要保留它。
it won't work, beacuse MSVCR80D is a side by side runtime
You will need to either tell user to directly install MS runtime or manually also copy the manifest files.
Also the MSVCR71.DLL is not selected for you. It's for Python, so you may still need to keep it.