I'm trying to get xLights up and running and cannot compile it.
I have the source code and in the top level directory there's a file "ToolConfig.txt" that says the install should be as easy as installing libwxgtk2.8-dev and running the "makeall.sh" script.
I have libwxgtk2.8-dev, yet this is what I get when attempting to run the makeall.sh script:
test -d ../bin || mkdir -p ../bin
test -d .objs || mkdir -p .objs
g++ .objs/E131Dialog.o .objs/LorMapDialog.o .objs/MainMenuApp.o .objs/MainMenuMain.o .objs/NetworkDialog.o .objs/SerialPortWithRate.o -s `wx-config --libs std` -o ../bin/xMenu
test -d ../bin || mkdir -p ../bin
test -d .objs || mkdir -p .objs
g++ -DwxUSE_UNICODE -O2 -Wall `wx-config --cflags` -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -c xScheduleMain.cpp -o .objs/xScheduleMain.o
In file included from xScheduleMain.h:62,
from xScheduleMain.cpp:24:
PlayerFrame.h:16: error: ISO C++ forbids declaration of ‘wxMediaCtrl’ with no type
PlayerFrame.h:16: error: expected ‘;’ before ‘*’ token
In file included from xScheduleMain.cpp:44:
../include/minibasic.cpp: In member function ‘int MiniBasicClass::exitfor(char*)’:
../include/minibasic.cpp:2346: warning: suggest parentheses around assignment used as truth value
xScheduleMain.cpp: In member function ‘int xlbasic::do_serialwrite()’:
xScheduleMain.cpp:168: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp: In member function ‘char* xlbasic::do_serialread()’:
xScheduleMain.cpp:192: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp: In member function ‘void xScheduleFrame::EndScript(const char*)’:
xScheduleMain.cpp:786: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp: In member function ‘void xScheduleFrame::OnTimer(wxTimerEvent&)’:
xScheduleMain.cpp:1244: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1244: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1247: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1251: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1251: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1262: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp:1344: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1344: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1348: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1352: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1352: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1353: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp:1357: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1361: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1361: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1369: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1415: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1415: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1416: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1424: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1424: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1432: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1447: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:1447: error: ‘wxMEDIASTATE_PLAYING’ was not declared in this scope
xScheduleMain.cpp:1448: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp: In member function ‘void xScheduleFrame::ShowPlayerSingle()’:
xScheduleMain.cpp:2024: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:2024: error: ‘wxMEDIACTRLPLAYERCONTROLS_DEFAULT’ was not declared in this scope
xScheduleMain.cpp: In member function ‘void xScheduleFrame::Play(wxString&, long int)’:
xScheduleMain.cpp:2043: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp: In member function ‘void xScheduleFrame::PlayLorFile(wxString&)’:
xScheduleMain.cpp:2080: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp: In member function ‘void xScheduleFrame::LoadLorChannels(wxXmlNode*)’:
xScheduleMain.cpp:2143: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp:2149: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp: In member function ‘void xScheduleFrame::PlayXlightsFile(wxString&)’:
xScheduleMain.cpp:2224: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp: In member function ‘void xScheduleFrame::PlayVixenFile(wxString&)’:
xScheduleMain.cpp:2290: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp: In member function ‘wxString xScheduleFrame::VixenInfo()’:
xScheduleMain.cpp:2569: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp: In member function ‘void xScheduleFrame::OnButtonInfoClick()’:
xScheduleMain.cpp:2616: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp:2624: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp:2632: warning: comparison between signed and unsigned integer expressions
xScheduleMain.cpp: In member function ‘void xScheduleFrame::build_decoding_table()’:
xScheduleMain.cpp:2947: warning: array subscript has type ‘char’
xScheduleMain.cpp: In member function ‘void xScheduleFrame::RunPlaylist(int, wxString&)’:
xScheduleMain.cpp:2985: error: ‘class PlayerFrame’ has no member named ‘MediaCtrl’
xScheduleMain.cpp:2985: error: ‘wxMEDIACTRLPLAYERCONTROLS_NONE’ was not declared in this scope
make: *** [.objs/xScheduleMain.o] Error 1
(build output clipped due to too many characters for a post)
I remember getting these errors eons ago when I first heard of xLights. At that time I even took time to start looking at this "Code::Blocks" ide, but I remember having issues with it and not wanting all the package bloat associated with it.
It looks to me as if wxMediaCtrl isn't a proper type. I would guess that it is supposed to be defined in "wx/mediactrl.h" which is included and I see no "failed to find header file" errors. Unfortunately since I've never done any wxWidgets programming, I can only make a few guesses based on the gcc error message and the PlayerFrame.h header file.
Any ideas?
Also, what is the "version2" directory? I found the "makeall.sh" script under "trunk/version1", which there is no mention of in the text file. There doesn't appear to be a makefile or script in the version2 directory, so is that only available if using the IDE?