Hi,
I upgrade my debian/sid and now i can't compile some plugins (due to gcc 4.0.1, i suppose ...)
make[2]: Entering directory `/tmp/vdr-1.3.27/PLUGINS/src/games-0.6.1' .plugin.cpp: In member function 'virtual eOSState GameStart::ProcessKey(eKeys)':plugin.cpp:111: error: invalid lvalue in assignment make[2]: *** [plugin.o] Erreur 1
Extract of plugin.cpp (...) 109:eOSState 110:GameStart::ProcessKey(eKeys k) { 111: if (r) (int)k &= 0x7fff; 112: if (launcher_key((int)k)) return (osEnd); 113: return (osContinue); 114:} (...)
Thanks,
Guy
___________________________________ NOCC, http://www.teledetection.fr
Guy Roussin wrote:
I upgrade my debian/sid and now i can't compile some plugins (due to gcc 4.0.1, i suppose ...)
As a workaround on many of these breakings (by 3.4.x and 4.0.x) you can add -fpermissive to CFLAGS. Of course a better option would be to fix the code.
Guy Roussin wrote:
.plugin.cpp: In member function 'virtual eOSState GameStart::ProcessKey(eKeys)':plugin.cpp:111: error: invalid lvalue in assignment make[2]: *** [plugin.o] Erreur 1
111: if (r) (int)k &= 0x7fff;
GCC 4 is very strict on enforcing ISO C++ rules. In this case, its no longer allowed to assign to a type casted variable. Try this variant:
if (r) k = (eKeys)((int)k & 0x7fff);
This is un-tested, dont blame me if it doesnt work.
Cheers,
Udo
Guy Roussin guy.roussin@teledetection.fr wrote:
I upgrade my debian/sid and now i can't compile some plugins (due to gcc 4.0.1, i suppose ...)
i have a bugfix version ready to be released, please test:
http://www.1541.org/public/vdr-games-0.6.2.tar.gz
thx ... clemens