[C++-sig] Boost and wxWidgets

Brian O'Kennedy brokenn at gmail.com
Thu Jan 14 09:53:06 CET 2010


I suspect your problem is unrelated to boost.python. I've never used
wxWidgets, but a quick google suggests it should be initialised before being
used.

*http://docs.wxwidgets.org/stable/wx_appinifunctions.html*
<http://docs.wxwidgets.org/stable/wx_appinifunctions.html>  int wxEntry(int&
* argc*, wxChar ***argv*)

hope this helps,
 Brian


2010/1/13 Joan Carles Jimenez <jjcarles at jocajica.com>

> Hi.
>
>  I am testing the following source code:
>
>
>
> --------
> Canvas.h
> --------
>
> #ifndef _CANVAS_H_
> #define _CANVAS_H_
>
> #include <string>
> #include "wx/wx.h"
>
> class CanvasFrame
> {
>    protected:
>        wxFrame* _frame;
>
>    public:
>        CanvasFrame(const std::string& pTitle);
>        ~CanvasFrame(void);
>
>        void Plot(void);
> };
>
> #endif /* _CANVAS_H_ */
>
> ----------
> Canvas.cpp
> ----------
>
> #include <Python.h>
> #include "canvas.h"
>
> CanvasFrame::CanvasFrame(const std::string& pTitle)
> {
>    _frame = new wxFrame(NULL, wxID_ANY,
> wxString::FromAscii(pTitle.c_str()));
> }
>
> CanvasFrame::~CanvasFrame(void)
> {
>    if(_frame) {
>        delete _frame;
>    }
> }
>
> void CanvasFrame::Plot(void)
> {
> }
>
> -----------
> wrapper.cpp
> -----------
>
> #include <boost/python.hpp>
> #include "canvas.h"
>
> using namespace boost::python;
>
> BOOST_PYTHON_MODULE(canvas)
> {
>    class_<CanvasFrame>("CanvasFrame", init<const std::string&>())
>        .def("Plot", &CanvasFrame::Plot)
>    ;
> }
>
>
>
> And to generate the module "canvas.so" I execute:
>
>
>
> g++ -shared -g -I. -I/usr/include/python2.6 -lpython2.6 canvas.cpp
> wrapper.cpp /usr/lib64/libboost_python.so -fPIC `wx-config --cxxflags`
> `wx-config --libs` -o canvas.so
>
> "canvas.so" is generated without any problems but when I execute in the
> python console the next code:
>
>
>
> >>> import canvas
> >>> a = canvas.CanvasFrame('My Plot Window')
>
>
>
> I have the next errors:
>
>
>
> (process:3521): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
> assertion failed, use IA__g_type_init() prior to this function
>
> (process:3521): GLib-CRITICAL **: g_once_init_leave: assertion
> `initialization_value != 0' failed
>
> (process:3521): Gdk-CRITICAL **: gdk_cursor_new_for_display: assertion
> `GDK_IS_DISPLAY (display)' failed
>
> (process:3521): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
> assertion failed, use IA__g_type_init() prior to this function
>
>
>
> And more, and more, and more. I have watched the examples of
>
> http://wiki.python.org/moin/boost.python/ExportingClasses
>
> but I have not seen any problem. They can help me? Thanks!
>
>
> P.D. Sorry for my english!
>
>
> _______________________________________________
> Cplusplus-sig mailing list
> Cplusplus-sig at python.org
> http://mail.python.org/mailman/listinfo/cplusplus-sig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20100114/98616ba5/attachment.htm>


More information about the Cplusplus-sig mailing list