Problem with building extension in Python

cornpicker at cornpicker at
Thu Jul 12 14:25:56 EDT 2007

On Jul 5, 4:33 am, "Gabriel Genellina" <gagsl-... at> wrote:
> En Thu, 05 Jul 2007 05:08:58 -0300, <vedrandeko... at>
> escribió:
> > I have already install Microsoft visual studio .NET 2003 and MinGw,
> > when I try to build a extension:
> Is this for Python 2.4? I think you can't compile Python 2.5 with VS2003.
> > python build ( or install ) , I get an error:
> > LINK : fatal error LNK1141: failure during build of exports file
> > error: command '"C:\Program Files\Microsoft Visual Studio .NET
> > 2003\Vc7\bin\link.exe"' failed with exit status 1141.What shoud I
> > do???
> Almost surely you got a previous error, making link to fail. Try to
> correct *that* error.
> --
> Gabriel Genellina

    Microsoft Visual Studio .NET 2003 Version 7.1 is the correct
version to build extensions for Python 2.5. There is also a Microsoft
Visual Studio .NET 2003 Version 7.0 as well, which is not acceptable
for building extensions. The first release (version 7.0) was purchased
by many, and is relatively easy to find. The following release
(version 7.1) was a minor revision and is very hard to find, but it is
what's necessary for building Python extensions. I hope future Python
releases are built using a more standard compiler.

    I'm posting in this thread because I am running into the same
problem as the original poster, linker error 1141. Here's a summary of
what I've gotten to work properly so far:

Python 2.5, Pyrex, and Microsoft Visual Studio 2003 .NET (version 7.1)
are successfully installed
I have successfully built Pyrex extensions using Distutils
I have successfully imported and ran Pyrex extensions in my Python

    The problems occur when I try to include C libraries in my Pyrex
code. Specifically, I need some trig functions found in C's math.h
header files. My .pyx file is as follows:

#  Use C math functions

def cFunctionTester(float theta):

    import sys

    # Import the native C functions we need
    cdef extern from "math.h":
        double cos(double theta)
        double sin(double theta)

    result[0] = cos(theta)
    result[1] = sin(theta)

    return 5

 I try to build the extension by running my file from the
command prompt. My file is presented below:

from distutils.core import setup
from distutils.extension import Extension
from Pyrex.Distutils import build_ext
  name = "PyrexGuide",
    Extension("cTest", ["cTest.pyx"], libraries = [])
  cmdclass = {'build_ext': build_ext}

I run this code through the command prompt by entering "
install"   The following error appears:

C:\Python25\Lib\site-packages\Pyrex\Distutils> install
running install
running build
running build_ext
building 'cTest' extension
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /
nologo /Ox
 /MD /W3 /GX /DNDEBUG -IC:\Python25\include -IC:\Python25\PC /
TccTest.c /Fobuild
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\link.exe /
DLL /nologo
\Python25\PCBuild /EXPORT:
initcTest build\temp.win32-2.5\Release\cTest.obj /OUT:build
pyd /IMPLIB:build\temp.win32-2.5\Release\cTest.lib
LINK : error LNK2001: unresolved external symbol initcTest
build\temp.win32-2.5\Release\cTest.lib : fatal error LNK1120: 1
unresolved exter
LINK : fatal error LNK1141: failure during build of exports file
error: command '"c:\Program Files\Microsoft Visual Studio .NET
.exe"' failed with exit status 1141


I do not know what the problem is -- perhaps the linker cannot locate
math.h? I've tried copying the math.h file to a whole bunch of other
directories, but there's still no luck. Any help anyone can provide
would be greatly appreciated.

Joe Stoffa
CornPicker at

More information about the Python-list mailing list