-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
hi,这款sersync同步工具确实不错。
但发现不支持多目录,遂打算自己动手,修改为多目录支持��
�
思路就是在InotifyEvent结构体中加入了boost::shared_ptr<RemoteServer>�
��员
让每个事件从属于各自的RemoteServer,
然后修改main.cpp的FileSynchronizeStart方法,将原先的while(1)循环��
�造为一个线程方法,使用boost::thread_group启动每个RemoteServer的
线程。
但不幸的是,编译总是报错,求助高手解决一下:
g++ -c -O2 -Iinclude -I/usr/local/include -MMD -MP -MF
build/Release/GNU-Linux-x86/FileSynchronize.o.d -o
build/Release/GNU-Linux-x86/FileSynchronize.o FileSynchronize.cpp
/usr/local/include/boost/bind/bind.hpp: In member function ‘void
boost::_bi::list7<A1, A2, A3, A4, A5, A6,
A7>::operator()(boost::_bi::type<void>, F&, A&, int) [with F =
boost::shared_ptr<QueueFilter>, A = boost::_bi::list0, A1 =
boost::_bi::value<boost::shared_ptr<QueueRetry> >, A2 =
boost::_bi::value<boost::shared_ptr<InotifyEvent> >, A3 =
boost::_bi::value<const char*>, A4 = boost::_bi::value<const char*>, A5 =
boost::_bi::value<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, A6 = boost::_bi::value<const char*>, A7 =
boost::_bi::value<const char*>]’:
/usr/local/include/boost/bind/bind_template.hpp:20: instantiated from
‘typename boost::_bi::result_traits<R, F>::type boost::_bi::bind_t<R, F,
L>::operator()() [with R = void, F = boost::shared_ptr<QueueFilter>, L =
boost::_bi::list7<boost::_bi::value<boost::shared_ptr<QueueRetry> >,
boost::_bi::value<boost::shared_ptr<InotifyEvent> >, boost::_bi::value<const
char*>, boost::_bi::value<const char*>,
boost::_bi::value<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, boost::_bi::value<const char*>,
boost::_bi::value<const char*> >]’
/usr/local/include/boost/thread/detail/thread.hpp:61: instantiated from
‘void boost::detail::thread_data<F>::run() [with F = boost::_bi::bind_t<void,
boost::shared_ptr<QueueFilter>,
boost::_bi::list7<boost::_bi::value<boost::shared_ptr<QueueRetry> >,
boost::_bi::value<boost::shared_ptr<InotifyEvent> >, boost::_bi::value<const
char*>, boost::_bi::value<const char*>,
boost::_bi::value<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, boost::_bi::value<const char*>,
boost::_bi::value<const char*> > >]’
FileSynchronize.cpp:511: instantiated from here
/usr/local/include/boost/bind/bind.hpp:670: 错误:对
‘(boost::shared_ptr<QueueFilter>) (boost::shared_ptr<QueueRetry>&,
boost::shared_ptr<InotifyEvent>&, const char*&, const char*&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const
char*&, const char*&)’ 的调用没有匹配
gmake[2]: *** [build/Release/GNU-Linux-x86/FileSynchronize.o] 错误 1
Original issue reported on code.google.com by zerg...@163.com on 11 Mar 2012 at 5:48
Metadata
Metadata
Assignees
Labels
No labels