|
Boost Users : |
From: Black Ice (yg-boost-users_at_[hidden])
Date: 2003-03-28 03:36:32
void foo(string & str)
{
str = "foo";
}
int main(int argc, char * argv[])
{
string str1("Hello world");
string str2(str1);
thread trd1(bind(&foo, str1));
thread trd2(bind(&foo, str2));
trd1.join();
trd2.join();
return 0;
}
The following is the compile log:
Compiling...
testThread.cpp
d:\Programming\boost\boost\boost\thread\exceptions.hpp(29) : warning C4275:
non dll-interface class 'std::logic_error' used as base for dll-interface
class 'boost::lock_error'
c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include\stdexcept(14) : see declaration of 'std::logic_error'
d:\Programming\boost\boost\boost\thread\exceptions.hpp(28) : see
declaration of 'boost::lock_error'
d:\Programming\boost\boost\boost\thread\exceptions.hpp(35) : warning C4275:
non dll-interface class 'std::runtime_error' used as base for dll-interface
class 'boost::thread_resource_error'
c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include\stdexcept(136) : see declaration of 'std::runtime_error'
d:\Programming\boost\boost\boost\thread\exceptions.hpp(34) : see
declaration of 'boost::thread_resource_error'
d:\Programming\boost\boost\boost\thread\mutex.hpp(37) : warning C4275: non
dll-interface class 'boost::noncopyable' used as base for dll-interface
class 'boost::mutex'
d:\Programming\boost\boost\boost\noncopyable.hpp(22) : see
declaration of 'boost::noncopyable'
d:\Programming\boost\boost\boost\thread\mutex.hpp(36) : see
declaration of 'boost::mutex'
d:\Programming\boost\boost\boost\thread\mutex.hpp(75) : warning C4275: non
dll-interface class 'boost::noncopyable' used as base for dll-interface
class 'boost::try_mutex'
d:\Programming\boost\boost\boost\noncopyable.hpp(22) : see
declaration of 'boost::noncopyable'
d:\Programming\boost\boost\boost\thread\mutex.hpp(74) : see
declaration of 'boost::try_mutex'
d:\Programming\boost\boost\boost\thread\mutex.hpp(115) : warning C4275: non
dll-interface class 'boost::noncopyable' used as base for dll-interface
class 'boost::timed_mutex'
d:\Programming\boost\boost\boost\noncopyable.hpp(22) : see
declaration of 'boost::noncopyable'
d:\Programming\boost\boost\boost\thread\mutex.hpp(114) : see
declaration of 'boost::timed_mutex'
d:\Programming\boost\boost\boost\thread\thread.hpp(39) : warning C4275: non
dll-interface class 'boost::noncopyable' used as base for dll-interface
class 'boost::thread'
d:\Programming\boost\boost\boost\noncopyable.hpp(22) : see
declaration of 'boost::noncopyable'
d:\Programming\boost\boost\boost\thread\thread.hpp(38) : see
declaration of 'boost::thread'
d:\Programming\boost\boost\boost\thread\thread.hpp(68) : warning C4275: non
dll-interface class 'boost::noncopyable' used as base for dll-interface
class 'boost::thread_group'
d:\Programming\boost\boost\boost\noncopyable.hpp(22) : see
declaration of 'boost::noncopyable'
d:\Programming\boost\boost\boost\thread\thread.hpp(67) : see
declaration of 'boost::thread_group'
d:\Programming\boost\boost\boost\thread\thread.hpp(79) : warning C4251:
'boost::thread_group::m_threads' : class 'std::list<_Ty>' needs to have
dll-interface to be used by clients of class 'boost::thread_group'
with
[
_Ty=boost::thread *
]
d:\Programming\boost\boost\boost\bind.hpp(186) : error C2664: 'void
(std::string &)' : cannot convert parameter 1 from 'const std::string' to
'std::string &'
Conversion loses qualifiers
d:\Programming\boost\boost\boost\bind\bind_template.hpp(21) : see
reference to function template instantiation 'R
boost::_bi::list1<A1>::operator
()<boost::_bi::bind_t<R,F,L>::result_type,void(__cdecl *)(std::string
&),boost::_bi::list0>(boost::_bi::type<T>,F,A &) const' being compiled
with
[
R=boost::_bi::bind_t<void,void (__cdecl *)(std::string
&),boost::_bi::list1<boost::_bi::list_av_1<std::string>::B1>>::result_type,
A1=boost::_bi::list_av_1<std::string>::B1,
F=void (__cdecl *)(std::string &),
L=boost::_bi::list1<boost::_bi::list_av_1<std::string>::B1>,
T=boost::_bi::bind_t<void,void (__cdecl *)(std::string
&),boost::_bi::list1<boost::_bi::list_av_1<std::string>::B1>>::result_type,
A=boost::_bi::list0
]
d:\Programming\boost\boost\boost\bind\bind_template.hpp(19) : while
compiling class-template member function
'boost::_bi::bind_t<R,F,L>::result_type boost::_bi::bind_t<R,F,L>::operator
()(void)'
with
[
R=void,
F=void (__cdecl *)(std::string &),
L=boost::_bi::list1<boost::_bi::list_av_1<std::string>::B1>
]
d:\Programming\project\testBoost\testThread\testThread.cpp(36) : see
reference to class template instantiation 'boost::_bi::bind_t<R,F,L>' being
compiled
with
[
R=void,
F=void (__cdecl *)(std::string &),
L=boost::_bi::list1<boost::_bi::list_av_1<std::string>::B1>
]
Build log was saved at
"file://d:\Programming\project\testBoost\testThread\Debug\BuildLog.htm"
testThread - 1 error(s), 8 warning(s)
Any suggestions are appreciated.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net