I was making a little program with wxDev-C++ and it compiles perfectly in winxp (mingw).
But when I checked if it would compile in Linux it gave me a whole list of errors that hardly fitted in the terminal window.
I spend hours and hours trying to solve this, I now have version 2.6.3 of wxWidgets installed (first I had 2.4, also with errors).
Because I tought the problem might be in my program I tried to compile a sample, but it also returned compile errors (a little less, maybe).
You can see the errors here when I try to compile the mediaplayer example:
My OS (linux) is Debian Stable, and I have wxWidgets 2.6.3 .krisje8@debian:~/zooi/mediaplayertest/mediaplayer$ gcc mediaplayer.cpp 'wx-config --libs --cxxflags' -o mediaplayer
gcc: wx-config --libs --cxxflags: Onbekend bestand of map
mediaplayer.cpp:47:23: wx/wxprec.h: Onbekend bestand of map
mediaplayer.cpp:54:23: wx/wx.h: Onbekend bestand of map
mediaplayer.cpp:61:46: wx/mediactrl.h: Onbekend bestand of map
mediaplayer.cpp:62:62: wx/filedlg.h: Onbekend bestand of map
mediaplayer.cpp:63:68: wx/slider.h: Onbekend bestand of map
mediaplayer.cpp:64:66: wx/sizer.h: Onbekend bestand of map
mediaplayer.cpp:65:60: wx/timer.h: Onbekend bestand of map
mediaplayer.cpp:66:71: wx/textdlg.h: Onbekend bestand of map
mediaplayer.cpp:67:73: wx/notebook.h: Onbekend bestand of map
mediaplayer.cpp:68:61: wx/cmdline.h: Onbekend bestand of map
mediaplayer.cpp:69:45: wx/listctrl.h: Onbekend bestand of map
mediaplayer.cpp:70:61: wx/dnd.h: Onbekend bestand of map
mediaplayer.cpp:71:56: wx/filename.h: Onbekend bestand of map
mediaplayer.cpp:72:50: wx/config.h: Onbekend bestand of map
mediaplayer.cpp:82:2: #error "This is a GUI sample"
mediaplayer.cpp:87:2: #error "Not all required elements are enabled. Please modify setup.h!"
mediaplayer.cpp:136: error: parse-fout before `{' token
mediaplayer.cpp:153: error: parse-fout before `{' token
mediaplayer.cpp:157: error: destructors must be member functions
mediaplayer.cpp:160: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:160: error: `event' was not declared in this scope
mediaplayer.cpp:160: error: variable or field `OnQuit' declared void
mediaplayer.cpp:161: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:161: error: `event' was not declared in this scope
mediaplayer.cpp:161: error: variable or field `OnAbout' declared void
mediaplayer.cpp:163: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:163: error: `event' was not declared in this scope
mediaplayer.cpp:163: error: variable or field `OnOpenFileSamePage' declared
void
mediaplayer.cpp:164: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:164: error: `event' was not declared in this scope
mediaplayer.cpp:164: error: variable or field `OnOpenFileNewPage' declared void
mediaplayer.cpp:165: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:165: error: `event' was not declared in this scope
mediaplayer.cpp:165: error: variable or field `OnOpenURLSamePage' declared void
mediaplayer.cpp:166: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:166: error: `event' was not declared in this scope
mediaplayer.cpp:166: error: variable or field `OnOpenURLNewPage' declared void
mediaplayer.cpp:167: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:167: error: `event' was not declared in this scope
mediaplayer.cpp:167: error: variable or field `OnCloseCurrentPage' declared
void
mediaplayer.cpp:169: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:169: error: `event' was not declared in this scope
mediaplayer.cpp:169: error: variable or field `OnPlay' declared void
mediaplayer.cpp:170: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:170: error: `event' was not declared in this scope
mediaplayer.cpp:170: error: variable or field `OnPause' declared void
mediaplayer.cpp:171: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:171: error: `event' was not declared in this scope
mediaplayer.cpp:171: error: variable or field `OnStop' declared void
mediaplayer.cpp:172: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:172: error: `event' was not declared in this scope
mediaplayer.cpp:172: error: variable or field `OnNext' declared void
mediaplayer.cpp:173: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:173: error: `event' was not declared in this scope
mediaplayer.cpp:173: error: variable or field `OnPrev' declared void
mediaplayer.cpp:174: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:174: error: `event' was not declared in this scope
mediaplayer.cpp:174: error: variable or field `OnVolumeDown' declared void
mediaplayer.cpp:175: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:175: error: `event' was not declared in this scope
mediaplayer.cpp:175: error: variable or field `OnVolumeUp' declared void
mediaplayer.cpp:177: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:177: error: `event' was not declared in this scope
mediaplayer.cpp:177: error: variable or field `OnLoop' declared void
mediaplayer.cpp:178: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:178: error: `event' was not declared in this scope
mediaplayer.cpp:178: error: variable or field `OnShowInterface' declared void
mediaplayer.cpp:180: error: `wxCommandEvent' was not declared in this scope
mediaplayer.cpp:180: error: `event' was not declared in this scope
mediaplayer.cpp:180: error: variable or field `OnSelectBackend' declared void
mediaplayer.cpp:183: error: `wxNotebookEvent' was not declared in this scope
mediaplayer.cpp:183: error: `event' was not declared in this scope
mediaplayer.cpp:183: error: variable or field `OnPageChange' declared void
mediaplayer.cpp:186: error: `wxKeyEvent' was not declared in this scope
mediaplayer.cpp:186: error: `event' was not declared in this scope
mediaplayer.cpp:186: error: variable or field `OnKeyDown' declared void
mediaplayer.cpp:189: error: parse-fout before `&' token
mediaplayer.cpp:192: error: `wxListEvent' was not declared in this scope
mediaplayer.cpp:192: error: `event' was not declared in this scope
mediaplayer.cpp:192: error: variable or field `OnChangeSong' declared void
mediaplayer.cpp:195: error: `wxMediaEvent' was not declared in this scope
mediaplayer.cpp:195: error: `event' was not declared in this scope
mediaplayer.cpp:195: error: variable or field `OnMediaLoaded' declared void
mediaplayer.cpp:198: error: `wxCloseEvent' was not declared in this scope
mediaplayer.cpp:198: error: `event' was not declared in this scope
mediaplayer.cpp:198: error: variable or field `OnClose' declared void
mediaplayer.cpp:200: error: parse-fout before `private'
mediaplayer.cpp:207: error: parse-fout before `&' token
mediaplayer.cpp:208: error: parse-fout before `&' token
mediaplayer.cpp:211: error: 'wxString' is used as a type, but is not defined as
a type.
mediaplayer.cpp:212: error: syntax error before `*' token
mediaplayer.cpp:216: error: `friend' can only be specified inside a class
mediaplayer.cpp:217: error: `friend' can only be specified inside a class
mediaplayer.cpp:218: error: `friend' can only be specified inside a class
mediaplayer.cpp:219: error: parse-fout before `}' token
mediaplayer.cpp:228: error: parse-fout before `{' token
mediaplayer.cpp:233: error: `wxScrollEvent' was not declared in this scope
mediaplayer.cpp:233: error: `event' was not declared in this scope
mediaplayer.cpp:233: error: variable or field `OnBeginSeek' declared void
mediaplayer.cpp:234: error: `wxScrollEvent' was not declared in this scope
mediaplayer.cpp:234: error: `event' was not declared in this scope
mediaplayer.cpp:234: error: variable or field `OnEndSeek' declared void
mediaplayer.cpp:237: error: `wxMediaEvent' was not declared in this scope
mediaplayer.cpp:237: error: `event' was not declared in this scope
mediaplayer.cpp:237: error: variable or field `OnMediaFinished' declared void
mediaplayer.cpp:239: error: parse-fout before `public'
mediaplayer.cpp:243: error: `friend' can only be specified inside a class
mediaplayer.cpp:246: error: 'wxString' is used as a type, but is not defined as
a type.
mediaplayer.cpp:248: error: syntax error before `*' token
mediaplayer.cpp:250: error: syntax error before `*' token
mediaplayer.cpp:254: error: syntax error before `*' token
mediaplayer.cpp:255: error: syntax error before `*' token
mediaplayer.cpp:256: error: syntax error before `*' token
mediaplayer.cpp:257: error: syntax error before `*' token
mediaplayer.cpp:258: error: syntax error before `*' token
mediaplayer.cpp:259: error: syntax error before `*' token
mediaplayer.cpp:260: error: syntax error before `*' token
mediaplayer.cpp:261: error: syntax error before `*' token
mediaplayer.cpp:269: error: parse-fout before `{' token
mediaplayer.cpp:277: error: syntax error before `*' token
mediaplayer.cpp:284: error: parse-fout before `{' token
mediaplayer.cpp:289: error: syntax error before `.' token
mediaplayer.cpp:291: error: invalid use of `this' at top level
mediaplayer.cpp:292: error: syntax error before `.' token
mediaplayer.cpp:293: error: syntax error before `.' token
mediaplayer.cpp:294: error: syntax error before `.' token
mediaplayer.cpp:307: error: `wxListItem' was not declared in this scope
mediaplayer.cpp:307: error: `listitem' was not declared in this scope
mediaplayer.cpp:308: error: variable or field `GetSelectedItem' declared void
mediaplayer.cpp:308: error: syntax error before `{' token
mediaplayer.cpp:311: error: parse-fout before `while'
mediaplayer.cpp:319: error: ISO C++ forbids declaration of `nLastSelected' with
no type
mediaplayer.cpp:319: error: redefinition of `int nLastSelected'
mediaplayer.cpp:310: error: `int nLastSelected' previously defined here
mediaplayer.cpp:320: error: parse-fout before `}' token
mediaplayer.cpp:323: error: syntax error before `.' token
mediaplayer.cpp:371: error: syntax error before `*' token
mediaplayer.cpp:412: error: ISO C++ forbids declaration of `IMPLEMENT_APP' with
no type
mediaplayer.cpp: In function `int IMPLEMENT_APP(wxMediaPlayerApp)':
mediaplayer.cpp:412: error: `<anonymous>' has incomplete type
mediaplayer.cpp:135: error: forward declaration of `class wxMediaPlayerApp'
mediaplayer.cpp:412: error: parse-fout before `bool'
mediaplayer.cpp:413: error: invalid use of undefined type `class
wxMediaPlayerApp'
mediaplayer.cpp:135: error: forward declaration of `class wxMediaPlayerApp'
mediaplayer.cpp: In member function `bool wxMediaPlayerApp::OnInit()':
mediaplayer.cpp:414: error: `frame' undeclared (first use this function)
mediaplayer.cpp:414: error: (Each undeclared identifier is reported only once
for each function it appears in.)
mediaplayer.cpp:415: error: parse-fout before `(' token
mediaplayer.cpp:477: error: parse-fout before `&' token
mediaplayer.cpp:478: error: invalid use of undefined type `class
wxMediaPlayerFrame'
mediaplayer.cpp:152: error: forward declaration of `class wxMediaPlayerFrame'
mediaplayer.cpp: In constructor `wxMediaPlayerFrame::wxMediaPlayerFrame(...)':
mediaplayer.cpp:478: error: class `wxMediaPlayerFrame' does not have any field
named `wxFrame'
mediaplayer.cpp:478: error: `NULL' undeclared (first use this function)
mediaplayer.cpp:478: error: `wxID_ANY' undeclared (first use this function)
mediaplayer.cpp:478: error: `title' undeclared (first use this function)
mediaplayer.cpp:478: error: `wxDefaultPosition' undeclared (first use this
function)
mediaplayer.cpp:478: error: `wxSize' undeclared (first use this function)
mediaplayer.cpp:483: error: `wxMenu' undeclared (first use this function)
mediaplayer.cpp:483: error: `fileMenu' undeclared (first use this function)
mediaplayer.cpp:483: error: parse-fout before `;' token
mediaplayer.cpp:484: error: `controlsMenu' undeclared (first use this function)
mediaplayer.cpp:484: error: parse-fout before `;' token
mediaplayer.cpp:485: error: `optionsMenu' undeclared (first use this function)
mediaplayer.cpp:485: error: parse-fout before `;' token
mediaplayer.cpp:486: error: `helpMenu' undeclared (first use this function)
mediaplayer.cpp:486: error: parse-fout before `;' token
mediaplayer.cpp:487: error: `debugMenu' undeclared (first use this function)
mediaplayer.cpp:487: error: parse-fout before `;' token
mediaplayer.cpp:489: error: `wxT' undeclared (first use this function)
mediaplayer.cpp:501: error: `wxID_EXIT' undeclared (first use this function)
mediaplayer.cpp:506: error: `wxID_STOP' undeclared (first use this function)
mediaplayer.cpp:522: error: `wxID_ABOUT' undeclared (first use this function)
mediaplayer.cpp:527: error: `wxMenuBar' undeclared (first use this function)
mediaplayer.cpp:527: error: `menuBar' undeclared (first use this function)
mediaplayer.cpp:527: error: parse-fout before `(' token
mediaplayer.cpp:533: error: `SetMenuBar' undeclared (first use this function)
mediaplayer.cpp:539: error: `m_notebook' undeclared (first use this function)
mediaplayer.cpp:539: error: parse-fout before `(' token
mediaplayer.cpp:621: error: `wxEVT_COMMAND_MENU_SELECTED' undeclared (first use
this function)
mediaplayer.cpp:622: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnQuit'
mediaplayer.cpp:622: error: `wxCommandEventHandler' undeclared (first use this
function)
mediaplayer.cpp:622: error: `Connect' undeclared (first use this function)
mediaplayer.cpp:625: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnAbout'
mediaplayer.cpp:628: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnLoop'
mediaplayer.cpp:631: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnShowInterface'
mediaplayer.cpp:634: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnOpenFileNewPage'
mediaplayer.cpp:637: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnOpenFileSamePage'
mediaplayer.cpp:640: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnOpenURLNewPage'
mediaplayer.cpp:643: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnOpenURLSamePage'
mediaplayer.cpp:646: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnCloseCurrentPage'
mediaplayer.cpp:649: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnPlay'
mediaplayer.cpp:652: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnStop'
mediaplayer.cpp:655: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnNext'
mediaplayer.cpp:658: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnPrev'
mediaplayer.cpp:661: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnSelectBackend'
mediaplayer.cpp:666: error: `wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED' undeclared
(first use this function)
mediaplayer.cpp:667: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnPageChange'
mediaplayer.cpp:667: error: `wxNotebookEventHandler' undeclared (first use this
function)
mediaplayer.cpp:672: error: `wxTheApp' undeclared (first use this function)
mediaplayer.cpp:672: error: `wxEVT_KEY_DOWN' undeclared (first use this
function)
mediaplayer.cpp:673: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnKeyDown'
mediaplayer.cpp:673: error: `wxKeyEventHandler' undeclared (first use this
function)
mediaplayer.cpp:674: error: `wxObject' undeclared (first use this function)
mediaplayer.cpp:674: error: parse-fout before `)' token
mediaplayer.cpp:679: error: `wxEVT_CLOSE_WINDOW' undeclared (first use this
function)
mediaplayer.cpp:680: error: incomplete type `wxMediaPlayerFrame' does not have
member `OnClose'
mediaplayer.cpp:680: error: `wxCloseEventHandler' undeclared (first use this
function)
mediaplayer.cpp:691: error: invalid use of undefined type `class
wxMediaPlayerNotebookPage'
mediaplayer.cpp:217: error: forward declaration of `class
wxMediaPlayerNotebookPage'
mediaplayer.cpp:705: error: `wxConfigBase' undeclared (first use this function)
mediaplayer.cpp:705: error: `conf' undeclared (first use this function)
mediaplayer.cpp:705: error: parse-fout before `::' token
mediaplayer.cpp:706: error: `wxString' undeclared (first use this function)
mediaplayer.cpp:709: error: `key' undeclared (first use this function)
mediaplayer.cpp:711: error: `outstring' undeclared (first use this function)
mediaplayer.cpp:713: error: invalid use of undefined type `class
wxMediaPlayerNotebookPage'
mediaplayer.cpp:217: error: forward declaration of `class
wxMediaPlayerNotebookPage'
mediaplayer.cpp:719: error: invalid use of undefined type `class
wxMediaPlayerTimer'
mediaplayer.cpp:210: error: forward declaration of `class wxMediaPlayerTimer'
mediaplayer.cpp:720: error: `Start' undeclared (first use this function)
mediaplayer.cpp:730: error: invalid use of undefined type `class
wxMediaPlayerFrame'
mediaplayer.cpp:152: error: forward declaration of `class wxMediaPlayerFrame'
mediaplayer.cpp: In destructor `wxMediaPlayerFrame::~wxMediaPlayerFrame()':
mediaplayer.cpp:754: error: parse-fout before `::' token
mediaplayer.cpp:757: error: `GetItemCount' undeclared (first use this function)
mediaplayer.cpp:759: error: `pData' undeclared (first use this function)
mediaplayer.cpp:759: error: parse-fout before `)' token
mediaplayer.cpp:760: error: `wxString' undeclared (first use this function)
mediaplayer.cpp:761: error: `s' undeclared (first use this function)
mediaplayer.cpp:766: let op: possible problem detected in invocation of delete
operator:
mediaplayer.cpp:210: let op: `m_timer' has incomplete type
mediaplayer.cpp:210: let op: forward declaration of `class wxMediaPlayerTimer'
mediaplayer.cpp:766: note: neither the destructor nor the class-specific
operator delete will be called, even if they are declared when the class is
defined.
mediaplayer.cpp:772: error: `wxCloseEvent' undeclared (first use this function)
mediaplayer.cpp:772: error: `event' undeclared (first use this function)
mediaplayer.cpp:773: error: invalid use of undefined type `class
wxMediaPlayerFrame'
mediaplayer.cpp:152: error: forward declaration of `class wxMediaPlayerFrame'
mediaplayer.cpp:773: error: invalid declarator
mediaplayer.cpp:773: error: syntax error before `{' token
mediaplayer.cpp:780: error: parse-fout before `&' token
mediaplayer.cpp:781: error: invalid use of undefined type `class
wxMediaPlayerFrame'
mediaplayer.cpp:152: error: forward declaration of `class wxMediaPlayerFrame'
mediaplayer.cpp: In member function `void
wxMediaPlayerFrame::AddToPlayList(...)':
mediaplayer.cpp:785: error: invalid use of undefined type `class
wxMediaPlayerNotebookPage'
mediaplayer.cpp:217: error: forward declaration of `class
wxMediaPlayerNotebookPage'
mediaplayer.cpp:785: error: `szString' undeclared (first use this function)
mediaplayer.cpp:807: error: invalid use of undefined type `class
wxMediaPlayerFrame'
mediaplayer.cpp:152: error: forward declaration of `class wxMediaPlayerFrame'
mediaplayer.cpp: In member function `void wxMediaPlayerFrame::ResetStatus()':
mediaplayer.cpp:808: error: `wxMediaCtrl' undeclared (first use this function)
mediaplayer.cpp:808: error: `currentMediaCtrl' undeclared (first use this
function)
mediaplayer.cpp:811: error: `m_basestatus' undeclared (first use this function)
mediaplayer.cpp:811: error: parse-fout before `::' token
mediaplayer.cpp:826: error: `wxCommandEvent' undeclared (first use this
function)
mediaplayer.cpp:826: error: `WXUNUSED' undeclared (first use this function)
mediaplayer.cpp:827: error: invalid use of undefined type `class
wxMediaPlayerFrame'
mediaplayer.cpp:152: error: forward declaration of `class wxMediaPlayerFrame'
mediaplayer.cpp:827: error: invalid declarator
mediaplayer.cpp:827: error: syntax error before `{' token
mediaplayer.cpp:839: error: invalid use of undefined type `class
wxMediaPlayerFrame'
mediaplayer.cpp:152: error: forward declaration of `class wxMediaPlayerFrame'
mediaplayer.cpp:839: error: invalid declarator
mediaplayer.cpp:839: error: syntax error before `{' token
mediaplayer.cpp:841: error: syntax error before `.' token
mediaplayer.cpp:844: error: `msg' undeclared (first use this function)
mediaplayer.cpp:844: error: `wxT' undeclared (first use this function)
mediaplayer.cpp:844: error: `wxOK' undeclared (first use this function)
mediaplayer.cpp:844: error: `wxICON_INFORMATION' undeclared (first use this
function)
mediaplayer.cpp:844: error: invalid use of `this' in non-member function
mediaplayer.cpp:844: error: ISO C++ forbids declaration of `wxMessageBox' with
no type
mediaplayer.cpp:844: error: initializer list being treated as compound
expression
mediaplayer.cpp:844: confused by earlier errors, bailing out
krisje8@debian:~/zooi/mediaplayertest/mediaplayer$
EDIT: Onbekend bestand of map is dutch for Unknown file or directory.
And parse-fout means parse-error.