2012/11/7 Václav Šmilauer <e...@doxos.eu>

>
> >> Just for the heck of it, I changed
> >> Python27/lib/distutils/cygwincompiler.py to return "msvcrt" instead of
> >> "msvcr90". It works.
> >>
> >> My question is: do we really need to link our modules to msvcr*, if
> >> python.dll (which we link already when building modules) links to msvcrt
> >> itself? I assume there is a reason for that, but it is not clear to me.
> >> Maybe I am misunderstanding the difference in linking on Windows? Under
> >> Linux, linking is transitive, therefore if B (python) links to A
> >> (msvcrt), then C (my module) linking to B links to A automatically.
> > See the following documents:
> > http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx
> > http://msdn.microsoft.com/en-us/library/ms235460.aspx
> Thanks for the references.
>
> I double-checked python.exe/python27.dll, they link to
>
> c:\windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3c9a1e18e3b_9.0.30729.4940_none_08e4299fa83d7e3c\msvcr90.dll.
> Since this directory is not in $PATH, it does not get picked up when the
> .pyd gets loaded (I had to copy msvcr90.dll to the directory, and there
> were two copies afterwards, which explains the crash).
>
> I also tried to remove -lmsvcr* from the link command, and modules get
> compiled just fine. I know I am just trying random things, perhaps
> without proper understanding, but... why bother linking to msvcr* at
> all? Am I just lucky in this case?
>

GCC for MinGW always links to msvcr.dll, which is an OS library. Linking to
another runtime afterwards will only resolve functions not present in
msvcrt.dll.

If it works, use what you have now. The only situation in which it's
problematic (I think) is when passing C objects across DLL boundaries as
you can read in the links. I'm not sure what this means for Python
explicitly...

Ruben


> Cheers, Vaclav
>
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Central: Instant, anywhere, Remote PC access and management.
> Stay in control, update software, and manage PCs from one command center
> Diagnose problems and improve visibility into emerging IT issues
> Automate, monitor and manage. Do more in less time with Central
> http://p.sf.net/sfu/logmein12331_d2d
> _______________________________________________
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to