already in RTTI table
Andreas Mohr
andi at rhlx01.hs-esslingen.de
Mon Jul 2 02:24:53 PDT 2007
Hi,
On Mon, Jul 02, 2007 at 08:29:07AM -0000, wx-users-digest-help at lists.wxwidgets.org wrote:
> Hi there.
>
> I'm getting this warning when I start my program.
>
> %g++ -o pinky pinky.o console.o fics.o set.o \
> board.o canvas.o `wx-config --libs`
>
> %./pinky.exe
> 12:33:53: Debug: ../src/common/object.cpp(244): assert
> "sm_classTable->Get(m_className) == NULL" failed in Register(): Class
> "wxComboCtrlBase" already in RTTI table - have you used
> IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file
> twice)?
>
> Pinky v0.5, built on Jun 30 2007 12:20:26
> Closing console...
>
> I have not used IMPLEMENT_DYNAMIC_CLASS() and I'm linking as shown
> above.
>
> %grep IMPLEMENT_DYNAMIC_CLASS *.h *.cpp
> %
>
> %wx-config --version-full
> 2.8.0.0
>
> %uname -a
> MINGW32_NT-5.1 SATURN 1.0.10(0.46/3/2) 2004-03-15 07:17 i686 unknown
>
> Any help is appreciated. Thanks.
>From my experience with this warning, one definitely does have several
(incompatible??) wx library binaries linked (e.g. from different
binaries/libraries of your app), thus the wx object registration code
*will* get invoked twice, (entirely rightfully) causing this warning,
to prevent further, even worse, harm caused when not showing this warning.
Check "ldd" output on your application related binaries, then you'll
most likely see that you have some stale duplicate wx library linking
somewhere.
Possibly the warning should be improved to mention debugging via "ldd"
on app objects, since it seems still not helpful enough despite its
already existing verbosity.
Andreas Mohr
More information about the wx-users
mailing list