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.