Hi,
Are you talking about the added compile time of 5 modules or does the parallel build take 01:50min?
The complete compilation time with two parallel processes takes without policy 01:10min and with policy it takes 01:50min. Okay Christophe, I just think, there is no workaround for me to keep the slave machine and the master machine in one dll: The memory problem is gone ( in case I use the favor_compile_time policy), but now I receive "bad reloc address in section xyz" messages from the linker regarding the object files of the master and slave state machines (which are compiled in their own TU's.) Here is the failure message: *ld.exe: src\TransportLayer\Statemachine\EventDispatcher\SlaveEventDispatcher.o: bad reloc address 0x45 in section `.text$_ZN5boost3msm4back14dispatch_tableINS1_13state_machineI18SlaveStateMachine_NS1_18favor_compile_timeENS_9parameter5void_ES7_S7_EENS_3mpl6v_itemINS8_5_row_INS0_5front3RowINS3_I23CStateSlaveHandshaking_S5_S7_S7_S7_E7exit_ptINSE_29ExitPointHandshakingSucceededEEENSC_4noneENS3_I23CStateSlaveOperational_S5_S7_S7_S7_EESJ_SJ_EEEENSA_INSB_INSD_INSL_7exit_ptINSK_28ExitPointMasterHeartbeatLostEEESJ_SF_SJ_SJ_EEEENSA_INS8_6a_row_INSD_INS4_12StateNoErrorE15EventFatalErrorNS4_14StateTerminateEN11ActionError11ReportErrorESJ_EEEENSA_INST_INSD_ISU_17EventNoTransitionSU_NSX_18ReportNoTransitionESJ_EEEENS9_7vector0IN4mpl_2naEEELi1EEELi1EEELi1EEELi1EEE15EventInitFailedS5_E15call_submachineISL_EENS1_11HandledEnumERS8_iiRKS1D_[__ZN5boost3msm4back14dispatch_tableINS1_13state_machineI18SlaveStateMachine_NS1_18favor_compile_timeENS_9parameter5void_ES7_S7_EENS_3mpl6v_itemINS8_5_row_INS0_5front3Ro_?I'* The *SlaveEventDispatcher.o* contains the instantiation of the Slave state machine and the process_event call for the boost::variant type (containing the 20 event types). I use the boost::static_visitor to travers over all event types and to pass the concrete event afterwards to the process_event method: *template<class TStateMachine> class EventTypeVisitor : public boost::static_visitor<>{ private: // Reference to the concrete state machine TStateMachine& m_concreteStateMachine; public: EventTypeVisitor(TStateMachine& stateMachine) : m_concreteStateMachine(stateMachine) {}; // Generic-visitor operator function. template<class TEventType > void operator()(TEventType & event) { // Forward the event to the concrete state machine. m_concreteStateMachine.process_event(event); }; };* ...splitting the master and slave state machines into two different dlls produces no problems. Hmm, I was thinking, if you would be interested to take a look at my code. I can send it to you via personal mail etc.. Maybe there is a bug in the use of your library or what ever... BR, Rafael -- View this message in context: http://boost.2283326.n4.nabble.com/Boost-MSM-cc1plus-exe-error-out-of-memory... Sent from the Boost - Users mailing list archive at Nabble.com.