#5 Compilation Failure in Microsoft Visual C++

open
nobody
None
5
2009-09-17
2009-09-17
Charles Brockman
No

While trying to compile the SVN trunk version of mathplot.cpp in Microsoft Visual Studio 2008 I received the following errors.

Compiling...
mathplot.cpp
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2204) : error C2248: 'wxString::wxString' : cannot access private member declared in class 'wxString'
C:\wxWidgets SVN\include\wx/string.h(478) : see declaration of 'wxString::wxString'
C:\wxWidgets SVN\include\wx/string.h(456) : see declaration of 'wxString'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2567) : error C2589: 'if' : illegal token on right side of '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2567) : error C2143: syntax error : missing ';' before '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2567) : error C2143: syntax error : missing ';' before '{'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2567) : error C2181: illegal else without matching if
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2706) : error C2589: 'if' : illegal token on right side of '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2706) : error C2143: syntax error : missing ';' before '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2706) : error C2143: syntax error : missing ';' before '{'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2706) : error C2181: illegal else without matching if
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2707) : error C2589: 'if' : illegal token on right side of '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2707) : error C2143: syntax error : missing ';' before '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2707) : error C2143: syntax error : missing ';' before '{'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2707) : error C2181: illegal else without matching if
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2708) : error C2589: 'if' : illegal token on right side of '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2708) : error C2143: syntax error : missing ';' before '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2708) : error C2143: syntax error : missing ';' before '{'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2708) : error C2181: illegal else without matching if
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2720) : error C2589: 'if' : illegal token on right side of '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2720) : error C2143: syntax error : missing ';' before '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2720) : error C2143: syntax error : missing ';' before '{'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2720) : error C2181: illegal else without matching if
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2804) : error C2589: 'if' : illegal token on right side of '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2804) : error C2143: syntax error : missing ';' before '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2804) : error C2143: syntax error : missing ';' before '{'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2804) : error C2181: illegal else without matching if
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2834) : error C2589: 'if' : illegal token on right side of '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2834) : error C2143: syntax error : missing ';' before '::'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2834) : error C2143: syntax error : missing ';' before '{'
..\..\..\..\..\..\wxmathplot\trunk\mathplot\mathplot.cpp(2834) : error C2181: illegal else without matching if

Discussion

  •  
    Attachments
  •  
    Attachments
  •  
    Attachments
  • The three attached patches correct the errors cited above. All three are created against the SVN trunk. mathplot_cpp.patch corrects mathplot.cpp. mathplot_h.patch corrects mathplot.h. As a result of the changes in those two files, a change is required in mp1.cpp. That file is corrected with mp1.patch.