----- Original Message -----
From: "RaRi"
Thank you all so far,
I will investigate, how I can simplify my state machine and reduce the number of events.
Damn, I spent 1 month on that machine and now I have to change it...
On linux there is no problem with that. Okay, the memory exceeds 1 GB while compiling my boost.msm based library. But it works fine!
The problem what remains is to compile the stuff for windows.
I have already just test one thing: Cross-compilation of my boost.Msm state machine on linux for windows with mingw32msvc-g++. But already doing this produced some errors:
*../src/TransportLayer/Statemachine/Master/CStateMasterHandshaking.hpp:33: error: class ‘CStateMasterHandshaking_’ does not have any field named ‘BaseStateMachineFrontEnd’ ../src/TransportLayer/Statemachine/Master/CStateMasterHandshaking.hpp:33: error: no matching function for call to ‘BaseStateMachineFrontEnd
::BaseStateMachineFrontEnd()’ ../src/TransportLayer/Statemachine/Master/../Common/BaseStateMachineFrontEnd.hpp:48: note: candidates are: BaseStateMachineFrontEnd<TYPE>::BaseStateMachineFrontEnd(EventQueue&) [with TYPE = CStateMasterHandshaking_] ../src/TransportLayer/Statemachine/Master/../Common/BaseStateMachineFrontEnd.hpp:26: note: BaseStateMachineFrontEnd ::BaseStateMachineFrontEnd(const BaseStateMachineFrontEnd &)* I think, the MSVC-specific cross compiler is responsible for this error.
I don't now, how to continue with this problem. At the worst I have to change the state machine completely.....
Thanks so far,
Rafael
Hi, not sure how to help you there without code, but from what I see, I'd say that BaseStateMachineFrontEnd has a ctor which hides the default-ctor. Try to provide one and see if that helps. I don't think you have to change it completely. Probably replacing a bunch of events by a single one containing an id as attribute, then checking it in a guard to see what event you really posted would probably be enough. Cheers, Christophe