I'm trying to build wxPython for an embedded system which
uses GTK, but doesn't have any of the 'libgnomeprint' stuff
available (it's a small embedded system!) Building the
extension libraries fail when I get to:
src/gtk/_gdi_wrap.cpp: At global scope:
src/gtk/_gdi_wrap.cpp:3622: error: expected ',' or '...' before '&' token
src/gtk/_gdi_wrap.cpp:3622: error: ISO C++ forbids declaration of 'wxPrintData' with no type
src/gtk/_gdi_wrap.cpp: In function 'PyObject* _wrap_new_PostScriptDC(PyObject*, PyObject*, PyObject*)':
src/gtk/_gdi_wrap.cpp:24837: error: 'wxPrintData' was not declared in this scope
This is because my wxWidgets built with GTK, but no gnomeprint
support (I think/hope).
Is there some way to skip/disable these classes?
n.b. I tried to search the archives of this list, but that
machine seems to still be down?
Thanks
···
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
I'm trying to build wxPython for an embedded system which
uses GTK, but doesn't have any of the 'libgnomeprint' stuff
available (it's a small embedded system!) Building the
extension libraries fail when I get to:
src/gtk/_gdi_wrap.cpp: At global scope:
src/gtk/_gdi_wrap.cpp:3622: error: expected ',' or '...' before '&' token
src/gtk/_gdi_wrap.cpp:3622: error: ISO C++ forbids declaration of 'wxPrintData' with no type
src/gtk/_gdi_wrap.cpp: In function 'PyObject* _wrap_new_PostScriptDC(PyObject*, PyObject*, PyObject*)':
src/gtk/_gdi_wrap.cpp:24837: error: 'wxPrintData' was not declared in this scope
This is because my wxWidgets built with GTK, but no gnomeprint
support (I think/hope).
Is there some way to skip/disable these classes?
wxPrintData should be available in either case, perhaps the compiler is just not seeing the declaration. Try adding #include <wx/cmndata.h> near the begining of _gdi_wrap.cpp.
Or have you entirely turned off the printing support with your configure statement? wxPrintData won't be declared at all if wxUSE_PRINTING_ARCHITECTURE is set to zero. The wxPython code expects that the printing classes are available (it doesn't care what back-end is used though) so if you want to remove it then you'll need to tweak the .i files and run SWIG to regenerate the wrapper files. (Be sure to use the patched version of SWIG 1.3.29.)
n.b. I tried to search the archives of this list, but that
machine seems to still be down?
Yep, it appears that it is. I expect that it is being worked on. It's nice to have the MX host running again though.
···
--
Robin Dunn
Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython!
I'm trying to build wxPython for an embedded system which
uses GTK, but doesn't have any of the 'libgnomeprint' stuff
available (it's a small embedded system!) Building the
extension libraries fail when I get to:
src/gtk/_gdi_wrap.cpp: At global scope:
src/gtk/_gdi_wrap.cpp:3622: error: expected ',' or '...' before '&' token
src/gtk/_gdi_wrap.cpp:3622: error: ISO C++ forbids declaration of
'wxPrintData' with no type
src/gtk/_gdi_wrap.cpp: In function 'PyObject*
_wrap_new_PostScriptDC(PyObject*, PyObject*, PyObject*)':
src/gtk/_gdi_wrap.cpp:24837: error: 'wxPrintData' was not declared in
this scope
This is because my wxWidgets built with GTK, but no gnomeprint
support (I think/hope).
Is there some way to skip/disable these classes?
wxPrintData should be available in either case, perhaps the compiler is
just not seeing the declaration. Try adding #include <wx/cmndata.h>
near the begining of _gdi_wrap.cpp.
Or have you entirely turned off the printing support with your configure
statement? wxPrintData won't be declared at all if
wxUSE_PRINTING_ARCHITECTURE is set to zero. The wxPython code expects
that the printing classes are available (it doesn't care what back-end
is used though) so if you want to remove it then you'll need to tweak
the .i files and run SWIG to regenerate the wrapper files. (Be sure to
use the patched version of SWIG 1.3.29.)
That was the case - I had [mistakenly] given --disable-printarch
to wxPython, even though it was enabled for wxGTK.
Next [related] problem, I also don't have libgnomecanvas available.
Can I build wxPython without it, or must I figure out how to get it?
···
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
I'm trying to build wxPython for an embedded system which
uses GTK, but doesn't have any of the 'libgnomeprint' stuff
available (it's a small embedded system!) Building the
extension libraries fail when I get to:
src/gtk/_gdi_wrap.cpp: At global scope:
src/gtk/_gdi_wrap.cpp:3622: error: expected ',' or '...' before '&' token
src/gtk/_gdi_wrap.cpp:3622: error: ISO C++ forbids declaration of
'wxPrintData' with no type
src/gtk/_gdi_wrap.cpp: In function 'PyObject*
_wrap_new_PostScriptDC(PyObject*, PyObject*, PyObject*)':
src/gtk/_gdi_wrap.cpp:24837: error: 'wxPrintData' was not declared in
this scope
This is because my wxWidgets built with GTK, but no gnomeprint
support (I think/hope).
Is there some way to skip/disable these classes?
wxPrintData should be available in either case, perhaps the compiler is
just not seeing the declaration. Try adding #include <wx/cmndata.h>
near the begining of _gdi_wrap.cpp.
Or have you entirely turned off the printing support with your configure
statement? wxPrintData won't be declared at all if
wxUSE_PRINTING_ARCHITECTURE is set to zero. The wxPython code expects
that the printing classes are available (it doesn't care what back-end
is used though) so if you want to remove it then you'll need to tweak
the .i files and run SWIG to regenerate the wrapper files. (Be sure to
use the patched version of SWIG 1.3.29.)
That was the case - I had [mistakenly] given --disable-printarch
to wxPython, even though it was enabled for wxGTK.
Next [related] problem, I also don't have libgnomecanvas available.
Can I build wxPython without it, or must I figure out how to get it?
Are you getting errors related to libgnomecanvas? As far as I know it is not used in wx at all.
···
--
Robin Dunn
Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython!
I'm trying to build wxPython for an embedded system which
uses GTK, but doesn't have any of the 'libgnomeprint' stuff
available (it's a small embedded system!) Building the
extension libraries fail when I get to:
src/gtk/_gdi_wrap.cpp: At global scope:
src/gtk/_gdi_wrap.cpp:3622: error: expected ',' or '...' before '&'
token
src/gtk/_gdi_wrap.cpp:3622: error: ISO C++ forbids declaration of
'wxPrintData' with no type
src/gtk/_gdi_wrap.cpp: In function 'PyObject*
_wrap_new_PostScriptDC(PyObject*, PyObject*, PyObject*)':
src/gtk/_gdi_wrap.cpp:24837: error: 'wxPrintData' was not declared in
this scope
This is because my wxWidgets built with GTK, but no gnomeprint
support (I think/hope).
Is there some way to skip/disable these classes?
wxPrintData should be available in either case, perhaps the compiler is
just not seeing the declaration. Try adding #include <wx/cmndata.h>
near the begining of _gdi_wrap.cpp.
Or have you entirely turned off the printing support with your configure
statement? wxPrintData won't be declared at all if
wxUSE_PRINTING_ARCHITECTURE is set to zero. The wxPython code expects
that the printing classes are available (it doesn't care what back-end
is used though) so if you want to remove it then you'll need to tweak
the .i files and run SWIG to regenerate the wrapper files. (Be sure to
use the patched version of SWIG 1.3.29.)
That was the case - I had [mistakenly] given --disable-printarch
to wxPython, even though it was enabled for wxGTK.
Next [related] problem, I also don't have libgnomecanvas available.
Can I build wxPython without it, or must I figure out how to get it?
Are you getting errors related to libgnomecanvas? As far as I know it
is not used in wx at all.
Sorry, my mistake - it was looking for glcanvas. I figured out that
this was part of OpenGL, so I added that in (a royal pain, [cross]
building some of these things for an embedded system)
I'm not familiar with the SWIG stuff - how hard would it be to make
the *.i files(?) depend on the configuration? e.g. if I want to build
without OpenGL, just leave out those classes/objects?
···
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
I'm trying to build wxPython for an embedded system which
uses GTK, but doesn't have any of the 'libgnomeprint' stuff
available (it's a small embedded system!) Building the
extension libraries fail when I get to:
src/gtk/_gdi_wrap.cpp: At global scope:
src/gtk/_gdi_wrap.cpp:3622: error: expected ',' or '...' before '&'
token
src/gtk/_gdi_wrap.cpp:3622: error: ISO C++ forbids declaration of
'wxPrintData' with no type
src/gtk/_gdi_wrap.cpp: In function 'PyObject*
_wrap_new_PostScriptDC(PyObject*, PyObject*, PyObject*)':
src/gtk/_gdi_wrap.cpp:24837: error: 'wxPrintData' was not declared in
this scope
This is because my wxWidgets built with GTK, but no gnomeprint
support (I think/hope).
Is there some way to skip/disable these classes?
wxPrintData should be available in either case, perhaps the compiler is
just not seeing the declaration. Try adding #include <wx/cmndata.h>
near the begining of _gdi_wrap.cpp.
Or have you entirely turned off the printing support with your configure
statement? wxPrintData won't be declared at all if
wxUSE_PRINTING_ARCHITECTURE is set to zero. The wxPython code expects
that the printing classes are available (it doesn't care what back-end
is used though) so if you want to remove it then you'll need to tweak
the .i files and run SWIG to regenerate the wrapper files. (Be sure to
use the patched version of SWIG 1.3.29.)
That was the case - I had [mistakenly] given --disable-printarch
to wxPython, even though it was enabled for wxGTK.
Next [related] problem, I also don't have libgnomecanvas available.
Can I build wxPython without it, or must I figure out how to get it?
Are you getting errors related to libgnomecanvas? As far as I know it
is not used in wx at all.
Sorry, my mistake - it was looking for glcanvas. I figured out that
this was part of OpenGL, so I added that in (a royal pain, [cross]
building some of these things for an embedded system)
I'm not familiar with the SWIG stuff - how hard would it be to make
the *.i files(?) depend on the configuration? e.g. if I want to build
without OpenGL, just leave out those classes/objects?
For some things it is already possible. For example wxGLCanvas support can already be excluded by adding BUILD_GLCANVAS=0 to the setup.py command line. For some other things that are commonly disabled, but that are not whole modules in wxPython, then wxPython will use a set of empty stub classes if they are disabled in wxWidgets. It's nowhere near complete yet though.
···
--
Robin Dunn
Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython!