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
//front-end
#include
#include
#include
// for And_ operator
#include
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