<div dir="ltr"><div>Python-List (<a href="http://mail.python.org/mailman/listinfo/python-list">http://mail.python.org/mailman/listinfo/python-list</a>) is the better place for this kind of question; Python-Dev is for the development of Python itself, not for development using Python.</div>
<div> </div><div>When you built E1, it should have also built a ".lib" file in addition to the ".pyd". It's the .lib that needs to be referenced when building E2. If it did not, you may find this link helpful: <a href="http://www.mingw.org/wiki/CreateImportLibraries">http://www.mingw.org/wiki/CreateImportLibraries</a></div>
<div> </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 23, 2013 at 4:18 AM, Emmanuel Bacry <span dir="ltr"><<a href="mailto:emmanuel.bacry@polytechnique.fr" target="_blank">emmanuel.bacry@polytechnique.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I am a researcher in Applied Math.<br>
For my work I write a lot of code and right now I am moving to python.<br>
<br>
I am writing some C extensions (using swig).<br>
I wrote a first extension (a python module) which I'll call E1.<br>
I wrote a setup.py which works fine on all platforms.<br>
On Windows 7 it creates a library which is a .pyd file<br>
<br>
Now I want to write a second C extension E2 that is calling some functions of E1.<br>
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.<br>
I am clearly not a Windows pro ... I am using mingw32 on Windows.<br>
Surfing the web, I understood that shared libraries work differently on windows than on other platforms. And that I should<br>
<br>
1- export the symbols (i.e., the functions) of E1 when I build E1. In the distutils.Extension this seems to be done using<br>
argument export_symbols=[list of symbols to export]<br>
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<br>
What am I doing wrong here, is there a special syntax ?<br>
<br>
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 ?<br>
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)<br>
Not mentioning the problem specifying the path of the library with runtime_library_dirs ... which does not seem to work at all.<br>
<br>
Is there a simple way to do what  I want to do ?<br>
I did not find anything on the web explaining clearly what to do ...<br>
I am really really stuck<br>
<br>
I would appreciate any kind of help<br>
<br>
<br>
Emmanuel<br>
<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-dev" target="_blank">http://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="http://mail.python.org/mailman/options/python-dev/curt%40hagenlocher.org" target="_blank">http://mail.python.org/mailman/options/python-dev/curt%40hagenlocher.org</a><br>
</blockquote></div><br></div>