Hello, 

I am a researcher in Applied Math.
For my work I write a lot of code and right now I am moving to python. 

I am writing some C extensions (using swig). 
I wrote a first extension (a python module) which I'll call E1. 
I wrote a setup.py which works fine on all platforms. 
On Windows 7 it creates a library which is a .pyd file 

Now I want to write a second C extension E2 that is calling some functions of 
E1. 
The same kind of setup.py works fine on all platforms but Windows where it says 
(during the link) that the function sof E1 that are called by E2 are 
unreferenced. 
I am clearly not a Windows pro ... I am using mingw32 on Windows. 
Surfing the web, I understood that shared libraries work differently on windows 
than on other platforms. And that I should 

1- export the symbols (i.e., the functions) of E1 when I build E1. In the 
distutils.Extension this seems to be done using 
argument export_symbols=[list of symbols to export] 
Now I have one problem : each time I specify in this list the name of a 
function in E1 it says that it doesn't know this symbol 
What am I doing wrong here, is there a special syntax ? 

2- Now in the setup.py of E2 how do I declare that I want to use the E1 shared 
lib.? Is the information on the exported symbol of E1 in the .pyd file or in 
the .def file ? 
I tried to specify the .pyd library in the arguments of the distutils.Extension 
.... but I have the feeling that's not the right thing to do (I have the 
feeling the .pyd is not the right file to point to) 
Not mentioning the problem specifying the path of the library with 
runtime_library_dirs ... which does not seem to work at all. 

Is there a simple way to do what  I want to do ? 
I did not find anything on the web explaining clearly what to do ... 
I am really really stuck 

I would appreciate any kind of help 


Emmanuel 

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to