Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Keybinder not compiling after commir r8564

<< < (2/2)

killerbot:

--- Quote from: daniloz on November 15, 2012, 09:41:27 am ---Hi All,

I've found that after updating past r8564, the keybinder plugin is not compiling anymore. The error is

--- Code: ---..\..\..\.objs\plugins\contrib\keybinder\cbkeybinder.o: In function `ZN11cbKeyBinder21MergeAcceleratorTableEb':
C:/Work/codeblocks_trunk/src/plugins/contrib/keybinder/cbkeybinder.cpp:856: undefined reference to `GetFullMenuPath(int)'
..\..\..\.objs\plugins\contrib\keybinder\keybinder.o: In function `ZNK5wxCmd4SaveEP12wxConfigBaseRK8wxStringb':
C:/Work/codeblocks_trunk/src/plugins/contrib/keybinder/keybinder.cpp:696: undefined reference to `GetFullMenuPath(int)'

--- End code ---

I've track the problem to the anonymous namespace introduced in menuutils.cpp, line 137, which causes the function GetFullMenuPath() (and FindMenuIdUsingFullMenuPath()) to be "local" to menuutils.cpp

--- Code: ---namespace
{
// ----------------------------------------------------------------------------
wxString GetFullMenuPath(int id)
// ----------------------------------------------------------------------------
{ ...
...

--- End code ---

--- End quote ---

OK found the cause, man this was very hacky code, good it became apparent now, however for me everything builded fine (and it still does, even after make clean).
But indeed in :
cbKeybinder.cpp
keybinder.cpp
magically they are aware of some method living somewhere dirty dirty) :

--- Code: ---extern wxString GetFullMenuPath(int);

--- End code ---

Now this is nicely exported in the header.

EDIT : now idea why it builds for me (CB build and makefiles, could it be those pch's again ?)

Navigation

[0] Message Index

[*] Previous page

Go to full version