Skip to content

改为多目录支持后遇到的问题 #61

Description

@GoogleCodeExporter
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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions