As far as I remember MSM uses fusion under the hood for states, so FUSION_MAX_VECTOR_SIZE would have to be set as well.

Kris

On Mon, Sep 22, 2014 at 5:25 PM, Hickman, Steve (AdvTech) <Steve.Hickman@honeywell.com> wrote:

I’ve been able to successfully create larger MSM state machines. Are you *absolutely* sure that the defines are before *any* inclusion of Boost? I use Visual Studio. For me, this meant I had to include  these defines at the top of my precompiled header include file.

 

---

Steve H.

 

From: Yechiel Levi [mailto:yechiel@fabrixsystems.com]
Sent: Monday, September 22, 2014 12:14 AM
To: boost-users@lists.boost.org
Subject: [Boost-users] Adding more than 20 rows in transition table for Boost::MSM

 

Hi,

 

I tried defining:

 

#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS 

#define BOOST_MPL_LIMIT_VECTOR_SIZE 30 // or whatever you need 

#define BOOST_MPL_LIMIT_MAP_SIZE 30 // or whatever you need 

 

 

/// Boost-MSM Includes 

// back-end

#include "boost/mpl/vector/vector30.hpp" 

#include <boost/msm/back/state_machine.hpp>

//front-end

#include <boost/msm/front/state_machine_def.hpp>

#include <boost/msm/front/functor_row.hpp>

#include <boost/any.hpp>

// for And_ operator

#include <boost/msm/front/euml/operator.hpp>

 

 

And i still get the following errors:

 

builder1: In file included from /usr/local/include/boost/mpl/erase.hpp:19,

builder1:                  from /usr/local/include/boost/fusion/mpl/erase.hpp:10,

builder1:                  from /usr/local/include/boost/fusion/mpl.hpp:20,

builder1:                  from /usr/local/include/boost/fusion/include/mpl.hpp:11,

builder1:                  from /usr/local/include/boost/msm/back/state_machine.hpp:30,

builder1:                  from File_Meta_FSM.h:18,

builder1:                  from Open_Files_Mng.h:5,

builder1:                  from Open_Files_Mng.cpp:1:

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:56: error: ‘_’ was not declared in this scope

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:56: error: ‘_’ was not declared in this scope

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:56: error: template argument 1 is invalid

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:56: error: template argument 2 is invalid

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:57: error: template argument 3 is invalid

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:62: error: ‘_’ was not declared in this scope

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:62: error: ‘_’ was not declared in this scope

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:62: error: template argument 1 is invalid

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:62: error: template argument 2 is invalid

builder1: /usr/local/include/boost/mpl/aux_/erase_impl.hpp:63: error: template argument 3 is invalid

 

and more of the same errors.. 

 

--

Kind regards,
Yechiel Levi


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users