On Tue, 22 Sep 2009 20:28:09 +0200, Arve Knudsen <[email protected]> wrote: > On Tue, Sep 22, 2009 at 7:27 PM, Phil Thompson > <[email protected]>wrote: > >> On Tue, 22 Sep 2009 19:17:12 +0200, Arve Knudsen <[email protected]> >> wrote: >> > On Tue, Sep 22, 2009 at 6:28 PM, Phil Thompson >> > <[email protected]>wrote: >> > >> >> On Mon, 21 Sep 2009 18:40:35 +0200, Arve Knudsen >> <[email protected]> >> >> wrote: >> >> > Hi >> >> > >> >> > I have run into this problem where a C++ exception is not correctly >> >> > translated into Python on Linux (it works under VC++ on Windows). >> >> > The >> >> > exception is apparently not caught as it should, but looking at the >> >> > SIP-generated sourcecode I cannot see why (there is a try/catch >> >> > block >> >> > for >> >> > the exception). Any ideas as to what might be going wrong here? I >> >> > have >> >> > tried >> >> > std::exception instead of my custom exception, and this gets >> translated >> >> > correctly to Python. >> >> > >> >> > Attached I have a simple library 'raiser', which is wrapped by the >> >> > Python >> >> > module 'raiser'. In order to build it, first build a shared library >> >> > from >> >> > 'raiser.cpp', then run 'configure.py' and make. >> >> >> >> Works fine for me on Linux with the current SIP snapshot. I did change >> >> your >> >> code first to make everything in-line so it wasn't necessary to build >> >> a >> >> separate library. >> > >> > >> > By inlining you remove the problem of interest, which is to propagate >> > an >> > exception from one library to another. It also works for me when >> inlining, >> > so try my original version please. >> >> That implies it's a build system issue. Can you send me the Makefile you >> are using to build the library so that I know I'm exactly reproducing >> what >> you are doing. > > > For this particular case, you can do the simplest thing possible: g++ > -shared -o libraiser.so raiser.cpp.
And add -fPIC presumably. You need to add "export_all=True" when creating the Makefile in your configure.py. Phil _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
