On Mon, Apr 18, 2016 at 7:53 PM, Denis Akhiyarov
<
denis.a...@gmail.com> wrote:
>
> Hi mingwpy developers,
>
> I have been following mingwpy project for quite a while now to supplement MSVC compilers when restricted on installations.
>
> Is the information available on this wiki considered accurate for C/C++/Fortran code in CPython extensions?
>
>
https://github.com/cython/cython/wiki/CythonExtensionsOnWindows
>
> If yes, then how does mingwpy project fit into this?
>
> Towards the end of the wiki article a lot of pitfalls using GCC toolchains are mentioned.
>
> What does mingwpy have to add to this or even update this information?
Mingwpy is still in development, so there may be bugs and so forth.
But other than that, everything that wiki page says about mingw-w64
there is wrong/outdated/doesn't apply to mingwpy. Mingwpy compiled
code uses the MSVC C runtime, its C++ library uses the MSVC C runtime,
it can use the python27.lib that ships with Python (you don't need
libpython27.a), etc. If compiling a Python extension with mingwpy
doesn't produce an extension module that works with Windows Python,
then that's a bug in mingwpy.
(Unfortunately there do remain some incompatibilities between mingwpy
and MSVC, but these should not matter for ordinary Python extensions.
In particular you can't use MSVC to debug code compiled with mingwpy,
and you can't call C++ APIs between code compiled with MSVC and code
compiled with mingwpy. But Python's API is all C, not C++, so 99% of
the time this isn't a problem.)
> Finally how are libpython & mingw packages from (Ana)conda differ with mingwpy?
The libpython package in Anaconda is just part of Python, and
necessary for all Python C extensions. ...Is this different from their
python package? Surely on Windows python.exe itself requires
libpython?
I'm not sure what the mingw package in Anaconda is exactly -- maybe
TDM-GCC? -- but as far as I know it's not mingwpy and the comments on
the Cython wiki apply to it.
-n
--
Nathaniel J. Smith --
https://vorpus.org