There are many code in the current trunk like below:
            #if wxCHECK_VERSION(2, 9, 0)
                Manager::Get()->GetLogManager()->DebugLog(F(_T("Looking for type: '%s' (%d components)"), actual.wx_str(), type_components.size()));
            #else
                Manager::Get()->GetLogManager()->DebugLog(F(_T("Looking for type: '%s' (%d components)"), actual.c_str(), type_components.size()));
            #endif
After checking the wxWidgets header file(Windows)
D:\wxWidgets-2.8.10\include\wx\string.h
I find this statement:
    const wxChar* wx_str()  const { return c_str(); }
So, I just manually change above code to below( remove the preprocessor  guard)
                Manager::Get()->GetLogManager()->DebugLog(F(_T("Looking for type: '%s' (%d components)"), actual.wx_str(), type_components.size()));
It builds and works with no problem.
So, my question is: why not clean up these codes?
Thanks.
			
			
			
				    const wxChar* wx_str()  const { return c_str(); }
This was added late to wxWidgets v2.8.10. If you remove the other option it'll break compilation of C::B on platforms where not the "latest" a.k.a v2.8.10 version of wxWidgets is available.
However, the cleanup will be done sooner or later...
I added the unneeded guard per an C::B dev request to get the patches applied.
The wx_str() has been in wxWidgets for years; but, it was obsoleted years ago.
Therefore, the was no wxWidgets docs saying it was safe to use.
From wxWidgets 2.8.0
    // identical to c_str(), for wxWin 1.6x compatibility
    const wxChar* wx_str()  const { return c_str(); }
Tim S.