2014-04-12 21:47 GMT+08:00 Johannes Lorenz <johannes89@mailueberfall.de>:
Hello,

I like Qi, but the compile times are terrible sometimes. My example is similar to this in [1], but it needs 3x as much time to compile. I thought this problem might be omitted by including selectively what is needed. So I went into [1] and replaced

  #include <boost/spirit/include/qi.hpp>

by

  #include <boost/spirit/include/qi_action.hpp>
  #include <boost/spirit/include/qi_grammar.hpp>
  #include <boost/spirit/include/qi_uint.hpp>
  #include <boost/spirit/include/qi_char.hpp> .

I got far, but then, there comes up a long error message, beginning like in [2].

My questions are:

  * is selectively including from "boost/spirit/include" supposed to work, or should this never be done?

Yes, it should work.
 
  * if it should work, what is still left to be included in my case?

#include <boost/spirit/include/qi_operator.hpp>


BTW, if you care about the compile time, there's Spirit X3 in develope which utilizes c++11/14 and it claims to compile faster.