I want to use std::thread instead of boost::thread, so I turn on the macro USE_STD_THREAD manually in "windows/config.h":
Then I got a link error "undefined reference to this_thread::detail_::interruptible_wait() in BoostMonitor.o" when compiling my application using thrift static lib.
Why still link to boost::thread lib when I set USE_STD_THREAD on? Strange! After hours later, I found that:
1. StdMutex.cpp & StdMonitor.cpp are missing in My project, so I added then;
2. BoostMutex.cpp & BoostMonitor.cpp and above 2 files didn't use USE_BOOST_THREAD/USE_STD_THREAD macro switch, so I fixed it:
BoostMutex.cpp & BoostMonitor.cpp:
StdMutex.cpp & StdMonitor.cpp:
Then my application can be compiled successfully, without any boost binary library, just includes.
Finally, I hope THRIFT library can be independent of boost, using C++11 features (smart-points/thread).