In file included from ./widgets/mathplot.cpp:36:0:
./widgets/mathplot.cpp: In member function 'void mpFXYVector::SetData(const std::vector<double>&, const std::vector<double>&)':
/usr/local/include/wx-3.0/wx/log.h:1361:5: error: expected id-expression before 'for'
for ( bool loopvar = false; \
^
/usr/local/include/wx-3.0/wx/log.h:1367:5: note: in expansion of macro 'wxDO_LOG_IF_ENABLED_HELPER'
wxDO_LOG_IF_ENABLED_HELPER(level, wxMAKE_UNIQUE_NAME(wxlogcheck))
^
/usr/local/include/wx-3.0/wx/log.h:1374:20: note: in expansion of macro 'wxDO_LOG_IF_ENABLED'
#define wxLogError wxDO_LOG_IF_ENABLED(Error)
^
./widgets/mathplot.cpp:2422:5: note: in expansion of macro 'wxLogError'
::wxLogError(_("wxMathPlot error: X and Y vector are not of the same length!"));
^
/usr/local/include/wx-3.0/wx/log.h:1367:58: error: 'wxlogcheck2422' was not declared in this scope
wxDO_LOG_IF_ENABLED_HELPER(level, wxMAKE_UNIQUE_NAME(wxlogcheck))
^
In mathplot.cpp, change all references from "::wxLogError" to "wxLogError". This is because wxLogError is a macro rather than a function.
把自己工程中"::wxLogError"改为 "wxLogError"重新编译就好了,不是wxWidgets的问题,不需要更改wx-3.0/wx/log.h文件