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, t...@probo.com Providenza & Boekelheide, Inc. _______________________________________________ python-win32 mailing list python-win32@python.org https://mail.python.org/mailman/listinfo/python-win32