[python-win32] More info about Microsoft Foundation Classes (MFC)

Thomas Pietrowski thopiekar at gmail.com
Thu Mar 29 14:31:19 EDT 2018


Ok, so basically the same I know from Linux.
But how likely is it that Python 2.7.14 (which is currently the latest
version) is linked against old libraries?
Isn't the Python Foundation updating their build system regularly, too?

At the moment I'm quite convinced that the choice of an MFC version does
not depend on Python, but on which version you built PyWin32.
However, this is only my current feeling.

Is our test script able to check a breakage here? So I would know by tests,
whether it is safe to take newer MFC libraries or not?



2018-03-29 19:15 GMT+02:00 Tim Roberts <timr at probo.com>:

> Thomas Pietrowski wrote:
> >
> > I have general questions about MFC and hope you can answer them.
> > When compiling PyWin32 for Py2.7 and Py3.x I get successful builds,
> > but setup.py can't find the MFC libraries,
> > which are specified here:
> > https://github.com/thopiekar/pywin32/blob/master/setup.py#L1059
> > for Python 2.7, Python 3.3 and Python3.4. This happens while using
> > Appveyor and I contacted them about these "missing" files.
> > One of the developers contacted me back and asked, whether mfc90*.dll
> > is really needed for Python2.7.
> > I think the question is quite eligible: Why are exactly these versions
> > of MFC libraries strictly specified here?
> > Isn't it possible to take the latest version, which is available?
> > (Which is there for Python3.5 and 3.6.)
>
> No.  It may not be obvious, but Python itself it entirely implemented in
> a DLL.  (Note that the "python.exe" command is only a couple dozen
> kilobytes.)  That DLL links to the dynamic version of the C run-time
> library.  To avoid conflicts in shared state and such, all of the DLLs
> it calls must either use a static C run-time library, or the same
> dynamic version that Python itself uses.  The same applies to MFC.  When
> an application or DLL links with MFC, it links to a specific version
> (e.g., mfc90.dll).  You can't substitute another.
>
> --
> Tim Roberts, timr at probo.com
> Providenza & Boekelheide, Inc.
>
> _______________________________________________
> python-win32 mailing list
> python-win32 at python.org
> https://mail.python.org/mailman/listinfo/python-win32
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20180329/a970375d/attachment.html>


More information about the python-win32 mailing list