Boost logo

Boost Users :

Subject: Re: [Boost-users] Boost.MSM cc1plus.exe:: error: out of memory allocating 65532
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2013-02-27 14:01:39


----- Original Message -----
From: "RaRi" <degoah_at_[hidden]>
Newsgroups: gmane.comp.lib.boost.user
To: <boost-users_at_[hidden]>
Sent: Wednesday, February 27, 2013 6:44 PM
Subject: Re: Boost.MSM cc1plus.exe:: error: out of memoryallocating 65532

> 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<CStateMasterHandshaking_>::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<CStateMasterHandshaking_>::BaseStateMachineFrontEnd(const
> BaseStateMachineFrontEnd<CStateMasterHandshaking_>&)*
>
> 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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net