[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] controlled midi playback



thanks, i will keep trying to compile it considering your tips but it would be nice if i could test your pypm.pyd in the meantime!

On 1/2/08, Lenard Lindstrom <len-l@xxxxxxxxx> wrote:
I guess it is getting late. LIBCMT.LIB is one version of the VC 6.0 C
library, so apparently isn't present in VC 7.1. I expect uuid.lib is
still be available. I am not so sure about OLDNAMES.LIB, but then you
did not mention a LNK1104 for it so I assume it is also available. So
try replacing line 34 in setup.py with the following two lines:

                 libraries = ["portmidi", "winmm", "porttime"],
                 extra_link_args = ["NODEFAULTLIB:LIBCMT"])

If it the linker complains about an invalid argument try adding a
forward slash "/" before NODEFAULTLIB.

Lenard


Lenard Lindstrom wrote:
> Python 2.5 extensions are compiled on Windows with vctoolkit2003 by
> default. It is the same compiler used on Python 2.5. When I compile
> with MinGW I get these warnings:
>
> Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
> Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
> Warning: .drectve `-defaultlib: uuid.lib ' unrecognized
> Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
> Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
> Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
> Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
> Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
> Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
> Warning: .drectve `-defaultlib: uuid.lib ' unrecognized
> Warning: .drectve `-defaultlib:LIBCMT ' unrecognized
> Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
>
> which appear to be related to the libraries portmidi.lib and
> porttime.lib. Maybe the VC linker can ignore -defaultlib directives in
> a library. I find there is a /NODEFAULTLIB:library linker option.
> Maybe add something like the following to setup.py after libraries =
> [....] for win32:
>
>                  extra_link_args=["NODEFAULTLIB:LIBCMT",
> "NODEFAULTLIB:OLDNAMES", "NODEFAULTLIB:uuid.lib"]
>
> Or try running vcvars32.bat (is there one for the 2003 toolkit) before
> executing setup.py.
>
> If you wish you may try the pypm.pyd I compiled MinGW. It links to
> msvcr71.dll, which is the big issue with Python 2.5, and works with my
> small test program.
>
>
> Lenard
>
>
> machinimist@xxxxxxxxx wrote:
>> that fixed the pyrex problem. i have the .c file now but there is
>> another problem i ran into.
>>
>> i tried to use code::blocks and the vctoolkit2003 to compile the
>> extension. i get this error message: fatal error LNK1104: cannot open
>> file ' LIBCMTD.LIB'
>>
>> maybe you can give me another tip?
>>
>> what compiler did python 2.5 for windows get compiled with? i read
>> somewhere that it can get messy if you don't use the same compiler
>> for extensions.
>>