on my OpenSuse11.2 64 bit I have the same issue (surprising it works for you in OpenSuse 11.3 64 bit).
These are the compiler errors output :
/bin/sh ../../../../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../../../../src/include -I/usr/lib64/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread -I../../../../../../src/include -I../../../../../../src/sdk/wxscintilla/include -I../../../../../../src/sdk/wxpropgrid/include -DWXMAKINGDLL_PROPGRID -DwxPG_USE_WXMODULE=0 -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -g -O2 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT wxsmediactrl.lo -MD -MP -MF .deps/wxsmediactrl.Tpo -c -o wxsmediactrl.lo `test -f './wxsmediactrl.cpp' || echo './'`./wxsmediactrl.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../../../../src/include -I/usr/lib64/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread -I../../../../../../src/include -I../../../../../../src/sdk/wxscintilla/include -I../../../../../../src/sdk/wxpropgrid/include -DWXMAKINGDLL_PROPGRID -DwxPG_USE_WXMODULE=0 -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -g -O2 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT wxsmediactrl.lo -MD -MP -MF .deps/wxsmediactrl.Tpo -c ./wxsmediactrl.cpp -fPIC -DPIC -o .libs/wxsmediactrl.o
./wxsmediactrl.cpp: In constructor ‘wxsMediaCtrl::wxsMediaCtrl(wxsItemResData*)’:
./wxsmediactrl.cpp:55: error: ‘wxMEDIACTRLPLAYERCONTROLS_DEFAULT’ was not declared in this scope
./wxsmediactrl.cpp: In member function ‘virtual void wxsMediaCtrl::OnBuildCreatingCode()’:
./wxsmediactrl.cpp:104: error: ‘wxMEDIACTRLPLAYERCONTROLS_NONE’ was not declared in this scope
./wxsmediactrl.cpp:107: error: ‘wxMEDIACTRLPLAYERCONTROLS_STEP’ was not declared in this scope
./wxsmediactrl.cpp:110: error: ‘wxMEDIACTRLPLAYERCONTROLS_VOLUME’ was not declared in this scope
./wxsmediactrl.cpp:113: error: ‘wxMEDIACTRLPLAYERCONTROLS_DEFAULT’ was not declared in this scope
./wxsmediactrl.cpp: In member function ‘virtual wxObject* wxsMediaCtrl::OnBuildPreview(wxWindow*, long int)’:
./wxsmediactrl.cpp:148: error: ‘wxMediaCtrl’ was not declared in this scope
./wxsmediactrl.cpp:148: error: ‘preview’ was not declared in this scope
./wxsmediactrl.cpp:148: error: expected type-specifier before ‘wxMediaCtrl’
./wxsmediactrl.cpp:148: error: expected ‘;’ before ‘wxMediaCtrl’
./wxsmediactrl.cpp:164: error: ‘wxMEDIACTRLPLAYERCONTROLS_NONE’ was not declared in this scope
./wxsmediactrl.cpp:167: error: ‘wxMEDIACTRLPLAYERCONTROLS_STEP’ was not declared in this scope
./wxsmediactrl.cpp:170: error: ‘wxMEDIACTRLPLAYERCONTROLS_VOLUME’ was not declared in this scope
./wxsmediactrl.cpp:173: error: ‘wxMEDIACTRLPLAYERCONTROLS_DEFAULT’ was not declared in this scope
./wxsmediactrl.cpp: In member function ‘virtual void wxsMediaCtrl::OnEnumWidgetProperties(long int)’:
./wxsmediactrl.cpp:196: error: ‘wxMEDIACTRLPLAYERCONTROLS_NONE’ was not declared in this scope
./wxsmediactrl.cpp:197: error: ‘wxMEDIACTRLPLAYERCONTROLS_STEP’ was not declared in this scope
./wxsmediactrl.cpp:198: error: ‘wxMEDIACTRLPLAYERCONTROLS_VOLUME’ was not declared in this scope
./wxsmediactrl.cpp:199: error:
"wxMEDIACTRLPLAYERCONTROLS_NONE" and others [enum wxMediaCtrlPlayerControls] are declared in wx/mediactrl.h, which is being included.
At first glance the only thing that could prohibit this [looking inside that header file] :
#if wxUSE_MEDIACTRL
// ----------------------------------------------------------------------------
// Includes
// ----------------------------------------------------------------------------
#include "wx/control.h"
#include "wx/uri.h"
// ============================================================================
// Declarations
// ============================================================================
// ----------------------------------------------------------------------------
//
// Enumerations
//
// ----------------------------------------------------------------------------
enum wxMediaState
{
wxMEDIASTATE_STOPPED,
wxMEDIASTATE_PAUSED,
wxMEDIASTATE_PLAYING
};
enum wxMediaCtrlPlayerControls
{
wxMEDIACTRLPLAYERCONTROLS_NONE = 0,
//Step controls like fastfoward, step one frame etc.
wxMEDIACTRLPLAYERCONTROLS_STEP = 1 << 0,
//Volume controls like the speaker icon, volume slider, etc.
wxMEDIACTRLPLAYERCONTROLS_VOLUME = 1 << 1,
wxMEDIACTRLPLAYERCONTROLS_DEFAULT =
wxMEDIACTRLPLAYERCONTROLS_STEP |
wxMEDIACTRLPLAYERCONTROLS_VOLUME
};
...
is :
And indeed it is NOT defined at the moment wxsmediactrl.cpp is being build (added the following snippet to that cpp file).
#if wxUSE_MEDIACTRL
//
#else
# error no wxUSE_MEDIACTRL
#endif
-->
./wxsmediactrl.cpp:30:3: error: #error no wxUSE_MEDIACTRL
./wxsmediactrl.cpp: In constructor ‘wxsMediaCtrl::wxsMediaCtrl(wxsItemResData*)’:
./wxsmediactrl.cpp:60: error: ‘wxMEDIACTRLPLAYERCONTROLS_DEFAULT’ was not declared in this scope
...
so we need to look into that direction.
This patch works for me:
Index: src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmediactrl.h
===================================================================
--- src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmediactrl.h (Revision 6414)
+++ src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmediactrl.h (Arbeitskopie)
@@ -20,8 +20,11 @@
#ifndef WXMEDIACTRL_H
#define WXMEDIACTRL_H
+#if wxUSE_MEDIACTRL
+
#include "../wxswidget.h"
+
/** \brief Class for wxMediaCtrl widget */
class wxsMediaCtrl: public wxsWidget
{
@@ -45,4 +48,6 @@
};
+#endif // wxUSE_MEDIACTRL
+
#endif // WXMEDIACTRL_H
Index: src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmediactrl.cpp
===================================================================
--- src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmediactrl.cpp (Revision 6414)
+++ src/plugins/contrib/wxSmith/wxwidgets/defitems/wxsmediactrl.cpp (Arbeitskopie)
@@ -22,6 +22,9 @@
*/
#include "wxsmediactrl.h"
+
+#if wxUSE_MEDIACTRL
+
#include "wx/mediactrl.h"
@@ -205,3 +208,4 @@
WXS_ENUM(wxsMediaCtrl, m_iVolume, _("Volume"), _T("volume"), VolumeLevels, VolumeNames, 5)
}
+#endif // wxUSE_MEDIACTRL
I think we should do this for all items that might be undefined, to avoid further errors.
EDIT:
I was able to compile, but got a runtime-error about an undefined symbol (after setting additional debug-log on true in OnInit), that leads to not loading wxSmith and the dependent plugins.
I tried r6435 and now it fails (https://build.opensuse.org/package/show?package=codeblocks&project=devel%3Atools%3Aide) on Mandriva 2009.1, SLE 11 and openSUSE 11.1 with ./wxsanimationctrl.cpp:99: error: no matching function for call to 'wxAnimationCtrl::wxAnimationCtrl(wxWindow*&, wxWindowID, wxString&, wxPoint, wxSize, long int)'
which worked earlier (r6386).
Is that something that can be fixed / changed too or are are those too old (Mandriva has wxGTK 2.8.9 and the SUSE versions have 2.8.8.1)?