I have went through the code over and over.
#include "File_Meta_FSM.h" -- ( this does not have any boost includes at
all)
#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
#define FUSION_MAX_VECTOR_SIZE 30 // or whatever you need
#include "boost/mpl/vector/vector30.hpp"
#include
//front-end
#include
#include
// for And_ operator
#include
////MSM.cpp
namespace MSM
{
namespace msm = boost::msm;
namespace mpl = boost::mpl;
namespace msmf = boost::msm::front;
using namespace msmf::euml;
... struct declaration , and other state machine implementations.
....
}
This following errors:
builder1: Compiling /home/yechiel/git_trunk/Infra/FSM.cpp
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.cpp:18:
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
builder1: In file included from /usr/local/include/boost/mpl/insert.hpp:19,
builder1: from
/usr/local/include/boost/fusion/mpl/insert.hpp:10,
builder1: from /usr/local/include/boost/fusion/mpl.hpp:24,
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.cpp:18:
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:53: error: ‘_’
was not declared in this scope
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:53: error: ‘_’
was not declared in this scope
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:53: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:53: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:54: error:
template argument 3 is invalid
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:59: error: ‘_’
was not declared in this scope
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:59: error: ‘_’
was not declared in this scope
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:59: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:59: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/mpl/aux_/insert_impl.hpp:60: error:
template argument 3 is invalid
builder1: In file included from /usr/local/include/boost/parameter.hpp:18,
builder1: from
/usr/local/include/boost/msm/back/state_machine.hpp:51,
builder1: from File_Meta_FSM.cpp:18:
builder1: /usr/local/include/boost/parameter/preprocessor.hpp:88: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/parameter/preprocessor.hpp:88: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/parameter/preprocessor.hpp:88: error:
template argument 1 is invalid
builder1: In file included from
/usr/local/include/boost/msm/mpl_graph/detail/incidence_list_graph.ipp:38,
builder1: from
/usr/local/include/boost/msm/mpl_graph/incidence_list_graph.hpp:18,
builder1: from
/usr/local/include/boost/msm/back/metafunctions.hpp:50,
builder1: from
/usr/local/include/boost/msm/back/state_machine.hpp:57,
builder1: from File_Meta_FSM.cpp:18:
builder1: /usr/local/include/boost/mpl/equal.hpp:98: error: ‘_’ was not
declared in this scope
builder1: /usr/local/include/boost/mpl/equal.hpp:98: error: ‘_’ was not
declared in this scope
builder1: /usr/local/include/boost/mpl/equal.hpp:98: error: template
argument 1 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:98: error: template
argument 2 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:108: error: template
argument 3 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:108: error: template
argument 3 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:108: error: template
argument 1 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:108: error: template
argument 3 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:108: error: template
argument 1 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:108: error: template
argument 3 is invalid
builder1: /usr/local/include/boost/mpl/equal.hpp:108: error: template
argument 1 is invalid
builder1: In file included from
/usr/local/include/boost/msm/back/state_machine.hpp:62,
builder1: from File_Meta_FSM.cpp:18:
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp: In
constructor ‘boost::msm::back::dispatch_table::dispatch_table()’:
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:358: error:
‘_’ is not a member of ‘boost::mpl::placeholders’
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:358: error:
‘_’ is not a member of ‘boost::mpl::placeholders’
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:358: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:358: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:359: error:
‘_’ is not a member of ‘boost::mpl::placeholders’
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:359: error:
‘_’ is not a member of ‘boost::mpl::placeholders’
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:359: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:359: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:360: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:360: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:361: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:383: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/dispatch_table.hpp:383: error:
invalid type in declaration before ‘;’ token
builder1: In file included from File_Meta_FSM.cpp:18:
builder1: /usr/local/include/boost/msm/back/state_machine.hpp: At global
scope:
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:111: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:111: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:111: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:112: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:114: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:114: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:114: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:115: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:117: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:117: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:117: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:118: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:121: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:121: error:
‘_’ is not a member of ‘boost::mpl’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:121: error:
template argument 1 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:122: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:123: error:
template argument 2 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:123: error:
template argument 3 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:123: error:
template argument 4 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:123: error:
template argument 5 is invalid
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:123: error:
invalid type in declaration before ‘;’ token
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:149: error:
wrong number of template arguments (1, should be 3)
builder1: /usr/local/include/boost/parameter/binding.hpp:44: error:
provided for ‘template
struct boost::parameter::binding’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:149: error:
expected ‘{’ before ‘::’ token
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:150: error:
invalid type in declaration before ‘,’ token
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:150: error:
declaration of ‘type’ not in a namespace surrounding ‘::’
builder1: /usr/local/include/boost/msm/back/state_machine.hpp:150: error:
‘type’ should have been declared inside ‘::’
If i remove the //#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS i get:
builder1: from File_Meta_FSM.cpp:12:
builder1: /usr/local/include/boost/proto/transform/when.hpp:243: error:
wrong number of template arguments (30, should be 20)
builder1: /usr/local/include/boost/mpl/aux_/preprocessed/gcc/map.hpp:22:
error: provided for ‘template struct boost::mpl::map’
builder1: Execution failed: Command exit with 1
Any idea?
On Sep 22, 2014 10:12 PM, "Christophe Henry" <
christophe.j.henry@googlemail.com> wrote:
You think the problem is with states?
I try to guess without seeing code...
But before I defined the mpl no preprocessed header macro all compiles
well except that I have 21 states which is beyond the limit
Then it’s definitely wrong.
Frankly, don’t rely too much on the compiler to not compile if you
exceed the limit. I once saw a fsm with 40 transitions and 30 states and
gcc never complained, never understood why.
When I define the no preprocessed header macro I get this weird warnings.
Do I need to define those macros in my dependencies project as well?
Since they use some boost..
You need to define it in the TU including the msm headers. If you include
msm from a header (which you should avoid) you might get a conflict so
you’d have to define it for all, which would everywhere increase
compile-times so don’t do it.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users