Sun 18 Jun 2006 02:07:11 AM UTC, original submission:
cmd_automate.o will not build for me (Linux/x86, gcc 4.0.2, boost 1.32.0) -
depbase=`echo cmd_automate.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; \
if g++ -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I. -DNDEBUG -DBOOST_DISABLE_THREADS -DBOOST_SP_DISABLE_THREADS -g -O2 -fno-strict-aliasing -Wall -W -Wno-unused -DBOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP -DBOOST_REGEX_COMPILE_HPP -MT cmd_automate.o -MD -MP -MF "$depbase.Tpo" -c -o cmd_automate.o cmd_automate.cc; \
then mv -f "$depbase.Tpo" "$depbase.Po"; else rm -f "$depbase.Tpo"; exit 1; fi
cmd_automate.cc:128: error: using-declaration for non-member at class scope
cmd_automate.cc:128: error: expected ‘;’ before ‘<’ token
cmd_automate.cc:159: error: ‘boost::function1’ has not been declared
cmd_automate.cc:159: error: expected ‘,’ or ‘...’ before ‘<’ token
cmd_automate.cc: In member function ‘virtual std::streamsize my_stringbuf::xsputn(const char*, std::streamsize)’:
cmd_automate.cc:145: error: ‘on_write’ was not declared in this scope
cmd_automate.cc: In member function ‘virtual int my_stringbuf::sync()’:
cmd_automate.cc:154: error: ‘on_write’ was not declared in this scope
cmd_automate.cc: In member function ‘void my_stringbuf::set_on_write(int)’:
cmd_automate.cc:161: error: ‘on_write’ was not declared in this scope
cmd_automate.cc:161: error: ‘x’ was not declared in this scope
cmd_automate.cc: In member function ‘virtual void automation::auto_stdio::run(std::vector<utf8, std::allocator<utf8> >, const std::string&, app_state&, std::ostream&) const’:
cmd_automate.cc:263: error: no matching function for call to ‘my_stringbuf::set_on_write(boost::_bi::bind_t<void, void ()(int, int, bool, const std::string&, std::ostream&, int&, int), boost::_bi::list7<boost::_bi::value<int>, boost::reference_wrapper<int>, boost::_bi::value<bool>, boost::_bi::bind_t<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::_mfi::cmf0<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::list1<boost::_bi::value<my_stringbuf> > >, boost::reference_wrapper<std::basic_ostream<char, std::char_traits<char> > >, boost::reference_wrapper<int>, boost::arg<1> > >)’
cmd_automate.cc:159: note: candidates are: void my_stringbuf::set_on_write(int)
The problem is the lack of an #include for <boost/function.hpp>; I'm guessing that a later version of Boost includes function.hpp when you include bind.hpp, but 1.32.0 does not.
|