I have build issue on Mac - Xcode 5.1 doesn't cast integers to pointers anymore. So, in single threaded build the line below doesn't compile:
mtx (LOG4CPLUS_THREADED (new impl::Mutex (t)) + 0)
I propose to replace LOG4CPLUS_THREADED macro here and in few others places with the one with two parameters - for single threaded and multi threaded cases:
mtx (LOG4CPLUS_THREADED2 (new impl::Mutex (t), nullptr))
See diff in the attachment for include/log4cplus/thread/syncprims-pub-impl.h.