Fixed in [r12963], thank you.
Your changes are a good way to avoid this warning.
Sorry. My English is not good. Maybe I didn't make it clear.
The problem should be in the MacrosManager::ReplaceMacros(wxString& buffer, const ProjectBuildTarget* target,bool subrequest) function.
MacrosManager::ReadMacros() was not called to get the contents of the compiler macro variable before the extrapath string was replaced.
I added a function to the sdk/acrosmanager file in my copies like this:
void MacrosManager::ReplaceMacros(wxString& buffer, const wxString compilerId)
{
Compiler* compiler = CompilerFactory::GetCompiler(compilerId);
ReadMacros(m_Macros, compiler);
ReplaceMacros(buffer);
}
If the second parameter directly uses the Compiler * pointer,
it may be ambiguous with MacrosManager:: ReplaceMacros (const wxString&buffer, const ProjectBuildTarget * target) overload.
And Change the code in the CompilerGCC::SetupEnvironment() function:
ReplaceMacros(extraPath);
to:
ReplaceMacros(extraPath, m_CompilerId);
I think this can ensure that the extract string can be correctly Parse and replace.