title: wxWidgets Hello World example not compiling
body: <p>I'm trying to learn the <code>wxWidgets</code> framework as I've been assigned to work on a project which already uses the library.</p>
  
  <p>I am using it on a Raspberry Pi, having installed it using <code>sudo apt-get install libwxgtk2.8-dev libwxgtk2.8-dbg</code>.</p>
  
  <p>I found <a href="http://docs.wxwidgets.org/trunk/overview_helloworld.html" rel="nofollow">this</a> tutorial on the wxWidgets website and pasted it into a file called hello.cpp on my Pi.</p>
  
  <p>Then I ran <code>g++ hello.cpp -o hello</code>wx-config --cxxflags --libs` and I got the following enormous error message: </p>
  
  <pre>
  gcc hello.cpp -o hello `wx-config --cxxflags --libs`
  hello.cpp:20:27: error: ISO C++ forbids declaration of ‘wxDECLARE_EVENT_TABLE’ with no type [-fpermissive]
  hello.cpp:27:5: error: expected constructor, destructor, or type conversion before ‘wxEventTableEntry’
  hello.cpp: In member function ‘virtual bool MyApp::OnInit()’:
  hello.cpp:34:84: error: conversion from ‘const char [12]’ to ‘const wxString’ is ambiguous
  hello.cpp:34:84: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [12]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [12]’ to ‘int’
  hello.cpp:15:5: error:   initializing argument 1 of ‘MyFrame::MyFrame(const wxString&, const wxPoint&, const wxSize&)’
  hello.cpp: In constructor ‘MyFrame::MyFrame(const wxString&, const wxPoint&, const wxSize&)’:
  hello.cpp:43:74: error: conversion from ‘const char [17]’ to ‘const wxString’ is ambiguous
  hello.cpp:43:74: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [17]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [17]’ to ‘int’
  /usr/include/wx-2.8/wx/menu.h:62:17: error:   initializing argument 2 of ‘wxMenuItem* wxMenuBase::Append(int, const wxString&, const wxString&, wxItemKind)’
  hello.cpp:49:40: error: conversion from ‘const char [6]’ to ‘const wxString’ is ambiguous
  hello.cpp:49:40: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [17]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [17]’ to ‘int’
  /usr/include/wx-2.8/wx/menu.h:62:17: error:   initializing argument 2 of ‘wxMenuItem* wxMenuBase::Append(int, const wxString&, const wxString&, wxItemKind)’
  hello.cpp:49:40: error: conversion from ‘const char [6]’ to ‘const wxString’ is ambiguous
  hello.cpp:49:40: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  hello.cpp:20:27: error: ISO C++ forbids declaration of ‘wxDECLARE_EVENT_TABLE’ with no type [-fpermissive]
  hello.cpp:27:5: error: expected constructor, destructor, or type conversion before ‘wxEventTableEntry’
  hello.cpp: In member function ‘virtual bool MyApp::OnInit()’:
  hello.cpp:34:84: error: conversion from ‘const char [12]’ to ‘const wxString’ is ambiguous
  hello.cpp:34:84: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [12]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [12]’ to ‘int’
  hello.cpp:15:5: error:   initializing argument 1 of ‘MyFrame::MyFrame(const wxString&, const wxPoint&, const wxSize&)’
  hello.cpp: In constructor ‘MyFrame::MyFrame(const wxString&, const wxPoint&, const wxSize&)’:
  hello.cpp:43:74: error: conversion from ‘const char [17]’ to ‘const wxString’ is ambiguous
  hello.cpp:43:74: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [17]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [17]’ to ‘int’
  /usr/include/wx-2.8/wx/menu.h:62:17: error:   initializing argument 2 of ‘wxMenuItem* wxMenuBase::Append(int, const wxString&, const wxString&, wxItemKind)’
  hello.cpp:49:40: error: conversion from ‘const char [6]’ to ‘const wxString’ is ambiguous
  hello.cpp:49:40: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [6]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [6]’ to ‘int’
  /usr/include/wx-2.8/wx/gtk/menu.h:27:18: error:   initializing argument 2 of ‘virtual bool wxMenuBar::Append(wxMenu*, const wxString&)’
  hello.cpp:50:40: error: conversion from ‘const char [6]’ to ‘const wxString’ is ambiguous
  hello.cpp:50:40: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [6]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [6]’ to ‘int’
  /usr/include/wx-2.8/wx/gtk/menu.h:27:18: error:   initializing argument 2 of ‘virtual bool wxMenuBar::Append(wxMenu*, const wxString&)’
  hello.cpp:53:44: error: conversion from ‘const char [22]’ to ‘const wxString’ is ambiguous
  hello.cpp:53:44: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [22]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [22]’ to ‘int’
  /usr/include/wx-2.8/wx/frame.h:110:18: error:   initializing argument 1 of ‘virtual void wxFrameBase::SetStatusText(const wxString&, int)’
  hello.cpp: In member function ‘void MyFrame::OnAbout(wxCommandEvent&)’:
  hello.cpp:62:66: error: conversion from ‘const char [40]’ to ‘const wxString’ is ambiguous
  hello.cpp:62:66: note: candidates are:
  /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) 
  /usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for argument 1 from ‘const char [40]’ to ‘wxChar {aka wchar_t}’
  /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int) 
  /usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for argument 1 from ‘const char [40]’ to ‘int’
  /usr/include/wx-2.8/wx/msgdlg.h:70:17: error:   initializing argument 1 of ‘int wxMessageBox(const wxString&, const wxString&, long int, wxWindow*, int, int)’
  hello.cpp: In member function ‘void MyFrame::OnHello(wxCommandEvent&)’:
  hello.cpp:66:47: error: cannot convert ‘const char*’ to ‘const wxChar* {aka const wchar_t*}’ for argument ‘1’ to ‘void wxLogMessage(const wxChar*, ...)’
  </pre>
  
  <p>It seems that the issues around converting from <code>char*</code> types to <code>wxString</code> types. Is there any way to resolve this? It seems strange that an official example would have all these errors, am I compiling it properly? </p>