
Right now, I'm just using: g++ build.cpp -lboost_system -lws2_32 I also tried: g++ build.cpp -DBOOST_ASIO_NO_WIN32_LEAN_AND_MEAN build.cpp -lboost_system -lws2_32 (same error) For further clarification, the following header orders work: 1: #include <boost/thread/thread.hpp> #include <boost/thread/recursive_mutex.hpp> #include <boost/asio.hpp> 2: #include <boost/asio.hpp> #include <boost/thread/thread.hpp> #include <boost/thread/recursive_mutex.hpp> This one does not: #include <boost/thread/thread.hpp> #include <boost/asio.hpp> #include <boost/thread/recursive_mutex.hpp> Here is the definition for the lock method that the compilation fails on: void lock() { long const current_thread_id=win32::GetCurrentThreadId(); if(!try_recursive_lock(current_thread_id)) { mutex.lock(); ::boost::detail::_InterlockedExchange(&locking_thread_id,current_thread_id); recursion_count=1; } } -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Vicente J. Botet Escriba Sent: Wednesday, June 13, 2012 6:11 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] EXTERNAL: Re: 1.49 header order conflicts on Windows Le 14/06/12 00:32, Davidson, Josh a écrit :
I haven't a windows machine at hand. Please could you get the result of the preprocessor and see what is happening with the detail/interlocked.hpp file where boost::detail::InterlockedExchange should be defined? The preprocessor output is over 4MB, but here is the snippet for interlocked.hpp: Could you also send the command line you use to get this error?
Vicente _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users