From: Alun G. <alu...@ds...> - 2007-05-29 07:26:53
|
At 13:03 25/05/2007, you wrote: >From: swi...@li... >[mailto:swi...@li...] On Behalf Of >Alun Griffiths > > > > c:>swig -python example.i > > > > seems to work as does > > > > c:>bcc32 -c -Ic:\python24\include -Ic:\borland\bcc55\include example.c >example_wrap.c > > > > But when I try to compile the .OBJ files to .EXE using > > > > c:\bcc32 -Lc:\python24\lib -Ic:\borland\bcc55\lib example.obj >example_wrap.obj > > > > I get a whole stack of errors related to "unresolved externals". For > example > > > > Error: Unresolved external 'main' referenced from > c:\borland\bcc55\lib\c0x32.obj > >You have to have a main() to run your program. Whatever you have in >example.c, you don't have a main(). Thanks for that - none of the examples that came with SWIG had a MAIN function so it had not occurred to me to use one. Any idea why the example functions don't have a MAIN? > > Error: Unresolved external '_PyExc_MemoryError' referenced from > > c:\temp\example_wrap.obj > >You have to link against the python library. You've added a reasonable >library path entry (-Lc:\python24\lib), but you haven't told the linker >to link against the python library. Try the following: > >c:\bcc32 -Lc:\python24\lib -Ic:\borland\bcc55\lib -lpython24.lib >example.obj example_wrap.obj > >I have no idea what the correct BCC option is for specifying a library, >but I guessed. Thanks for that also. With BCC32, adding PYTHON24.LIB to the list of files does the trick. One little twist though - BCC needs LIB files in OMF format whereas my Python LIB files were in COFF format. The BCC utility COFF2OMF sorts this one out. Best regards Alun Griffiths |